简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。
Linux 相关
“1、Docker和宿主机之间共享文件?
”
docker run -it --rm -v /home/my_data:/share 镜像ID /bin/bash
指令含义:把宿主机的 /home/my_data 目录挂载到新建容器的 /share 目录。 执行完上面命令进入 Docker 容器后,进入 /share 文件夹下,ls 后就会看到宿主机 /home/my_data 中的文件。
“2、vim 删除单行、全部?撤回?
”
1)删除单行:dd
2)删除全部:
- gg 光标移动到行首
- dG 删除光标后所有内容
3)撤回:u
“3、Ubuntu 查看安装的软件包版本和位置?
”
- 查看软件包名称
(myconda) root@ZA8rRd:/# dpkg -l | grep cudnn hi libcudnn8 8.2.0.53-1+cuda11.3 amd64 cuDNN runtime libraries ii libcudnn8-dev 8.2.0.53-1+cuda11.3 amd64 cuDNN development libraries and headers
- 根据名称查找位置
(myconda) root@ZA8rRd:/# dpkg -L libcudnn8 /. /usr /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libcudnn.so.8.2.0 ...
“4、如何使用cuda编译 cpp 代码?fatal error: cuda.h: No such file or directory!!!
”
首先你需要确保你机器里面已经安装了 cuda 环境。
测试程序如下,写入到t-c.cpp
文件中:
#include <iostream> #include <cuda.h> int main() { printf("Hello World"); return 0; }
编译的时候需要指定以下参数:
- -I /usr/local/cuda/include 指定编译的时候,头文件搜索路径
- -o tc 编译成功的可执行文件名称
- -L /usr/local/cuda/lib64 指定编译的时候,搜索库的路径
- -l cuda 指定编译的时候使用的库
g++ -I /usr/local/cuda/include t-c.cpp -o tc -L /usr/local/cuda/lib64 -l cuda (myconda) root@ZA8rRd:/home# g++ -I /usr/local/cuda/include t-c.cpp -o tc -L /usr/local/cuda/lib64 -l cuda (myconda) root@ZA8rRd:/home# ./tc Hello World
“5、linux 删除安装的软件包
”
apt-get remove --purge 软件名称 -y apt-get autoremove --purge 软件名称 -y
Python 相关
“'NoneType'object is not subscriptable 这种错误是因为你调用的索引不存在导致,比如下面例子中 a 为 None,我却想获取 a 的索引值。
”
项目中遇到这种错误,需要先去找下 a 值是怎么来的,然后根据代码上下,判断是数据读取问题还是代码写错了。
a = None 1 if a else int(a['b'])
用处不大
“1、add-apt-repository 安装使用
”
add-apt-repository 是 Python 脚本,允你将 apt 存储库添加到 /etc/apt/sources.list 或者作为单个文件添加 /etc/apt/sources.list.d 目录中。该命令还可以用于删除已经存在的存储库。
要安装它,请运行以下命令:
sudo apt update sudo apt install software-properties-common
使用 add-apt-repository 添加存储库,安装软件参考:https://www.myfreax.com/how-to-add-apt-repository-in-ubuntu/
“2、cmake 升级
”
去官网下载自己需要的版本安装包,解压后编译安装即可。
https://cmake.org/files/ wget https://cmake.org/files/v3.17/cmake-3.17.5.tar.gz tar xvf cmake-3.17.5.tar.gz cd cmake-3.17.5 ./bootstrap --prefix=/usr ''' 如果出现错误:Could not find OpenSSL apt update apt install libssl-dev ''' make make install
“3、'utf-8' codec can't decode byte 0xa3?
”
读取编码改成unicode_escape。
flag = 0 with open('./wifi密码本.txt', 'r', encoding='unicode_escape') as f: # 遍历密码 for pwd in f: # 去除密码的末尾换行符 pwd = pwd.strip('\n') print(pwd) flag += 1 if flag > 10: break
“4、Python 3.5 添加到 jupyter notebook kernel中的问题?
”
pip install ipykernel python -m ipykernel install --name py35 ''' File "/Users/admin/opt/anaconda3/envs/py35/lib/python3.5/site-packages/jupyter_client/channels.py", line 47 time_to_dead: float = 1.0 ^ SyntaxError: invalid syntax '''
出现上面错误是因为安装的包版本不对的原因。
首先conda 搜索适合 python3.5 的 ipykernel、jupyter_client 包,并安装对应版本,最后添加即可。
conda search ipykernel | grep py35 ''' ipykernel 4.6.1 py35h9865fc8_0 anaconda/pkgs/main ipykernel 4.7.0 py35h2f9c1c0_0 anaconda/pkgs/main ipykernel 4.8.0 py35_0 anaconda/pkgs/main ipykernel 4.8.2 py35_0 anaconda/pkgs/main ipykernel 4.9.0 py35_0 anaconda/pkgs/main ipykernel 4.9.0 py35_1 anaconda/pkgs/main ipykernel 4.10.0 py35_0 anaconda/pkgs/main ''' pip install ipykernel==4.10.0 conda search jupyter_client | grep py35 ''' jupyter_client 5.1.0 py35hfe06ecd_0 anaconda/pkgs/main jupyter_client 5.2.1 py35_0 anaconda/pkgs/main jupyter_client 5.2.2 py35_0 anaconda/pkgs/main jupyter_client 5.2.3 py35_0 anaconda/pkgs/main ''' pip install jupyter_client==5.2.3 python -m ipykernel install --name py35 ''' Installed kernelspec py35 in /usr/local/share/jupyter/kernels/py35 '''
英语
malicious 英 [məˈlɪʃəs] 美 [məˈlɪʃəs] adj.恶意的;恶毒的 drag 英 [dræɡ] 美 [dræɡ] v.(用鼠标)拖动 n.拖累;令人厌烦的人;乏味无聊的事 potentially 英 [pə'tenʃəli] 美 [pə'tenʃəli] adv.潜在地
今天分享就这些啦,希望对大家有所帮助,这是一个新栏目,总结下每天遇到的问题,记录分享给大家。喜欢就点个赞~