Python使用过程中的bug 总结Python使用过程中的bug
iteapoy 人气:0Python使用过程中的bug
问题:
在vscode中, 使用 Windows PowerShell 运行 conda activate xxx (某个环境)切换环境时报错:
If using ‘conda activate' from a batch script, change your invocation to ‘CALL conda.bat activate'.
原因:
PowerShell 有时不好使
解决方法:
改为用 cmd 运行
问题:
conda install xxxx 安装遇到问题
PermissionError: [WinError 5] 拒绝访问。: 'd:\anaconda3\lib\site-packages
原因:
权限问题
解决方法:
将原来的 conda install xxxx 改成 pip install --user xxxx (可以试试 conda install --user xxxx )
问题:
linux 服务器上已经安装好了cuda,但是运行 nvcc -V
后报错:
The program ‘nvcc' is currently not installed. You can install it by typing:
sudo apt install nvidia-cuda-toolkit
按照网上的方法,找到 cuda 的安装目录下的 lib 和 bin 所在路径(假设 lib 的路径是 /usr/local/cuda/lib ,bin 的路径是 /usr/local/cuda/bin),通过 vim ~/.bashrc
在中间(这是出错的步骤)加入路径:
export LD_LIBRARY_PATH=/usr/local/cuda/lib export PATH=$PATH:/usr/local/cuda/bin
source ~/.bashrc
后运行 nvcc -V
后仍然报错。
原因:
因为之后又安装了新版的 python,所以 ~/.bashrc 最后又被添加了python的路径:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/snap/bin
这个增加在了最后,直接覆盖了之前写的cuda的路径,所以添加 cuda 路径一般网上的写法都是:
export PATH=$PATH:新增的bin路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:新增的lib路径
这相当于把之前的PATH和新增的路径衔接起来。并且,在后面继续添加路径时,也不要直接写 export PATH=新增路径
,否则会覆盖之前写过的PATH路径,导致之前写的路径失效。
解决方法:
把之前新增的python路径修改为:
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/snap/bin
避免了覆盖掉 cuda 的路径
并且,建议在之后添加路径时,不要直接用 export PATH=新增路径
而是用 export PATH=$PATH:新增路径
问题:
按照官方文档,在win10上运行 django-admin startproject mysite
遇到报错
‘django-admin' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
原因:
没有添加系统路径。
解决方法:
找到包含 django-admin.exe
的文件,然后把它所在的路径添加到系统路径里。例如:我这边是 C:\Users\xxx\AppData\Roaming\Python\Python37\Scripts
,就添加系统路径。还是不行的话,就使用懒人方法,直接运行
C:\Users\xxx\AppData\Roaming\Python\Python37\Scripts\django-admin startproject mysite
问题:
试图在我的 Mac 上用 brew 安装 pyenv。首先,卡在了 updating homebrew 上。解决后,下载完 pyenv,想要用 eval "$(pyenv init -)"
添加路径又遇到警告:
WARNING:
pyenv init -
no longer sets PATH. Runpyenv init
to see the necessary changes to make to your configuration.
解决方法:
对于卡在 updating homebrew 上,有两种方法:
1.直接 ctrl+C 停止更新,然后就会跳过更新,直接下载。并且可以直接关闭自动更新:
vim ~/.bash_profile # 新增一行 export HOMEBREW_NO_AUTO_UPDATE=true
2.更换源(感觉前面一种方法治标不治本,还是更换源吧):
cd "$(brew --repo)" git remote set-url origin https://mirrors.ustc.edu.cn/brew.git cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git brew update
对于警告:
WARNING:
pyenv init -
no longer sets PATH. Runpyenv init
to see the necessary changes to make to your configuration.
是因为 pyenv 版本更新,网上的教程太老了,建议直接看pyenv的GitHub Readme官方文档,把 echo eval "$(pyenv init -)"
改为:
echo 'eval "$(pyenv init --path)"'
这里也仅限当前时间有效,可能之后还会改动,还是以官方文档为准。
加载全部内容