首页 > 编程技术 > python

总结Python使用过程中的bug

发布时间:2021-6-18 15:01

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内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

标签:[!--infotagslink--]

您可能感兴趣的文章: