总结Python使用过程中的bug

编辑: admin 分类: python 发布时间: 2021-12-24 来源:互联网

Python使用过程中的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. Run pyenv 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. Run pyenv init to see the necessary changes to make to your configuration.

是因为 pyenv 版本更新,网上的教程太老了,建议直接看pyenv的GitHub Readme官方文档,把 echo eval "$(pyenv init -)" 改为:

echo 'eval "$(pyenv init --path)"' 

这里也仅限当前时间有效,可能之后还会改动,还是以官方文档为准。

到此这篇关于总结Python使用过程中的bug的文章就介绍到这了,更多相关Python使用过程中的bug内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!