Python应用过程有哪些常见bug,怎么处理好
Admin 2022-07-05 群英技术资讯 321 次浏览
问题:
在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)"'
这里也仅限当前时间有效,可能之后还会改动,还是以官方文档为准。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Python中的 enumerate和zip,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
这篇文章主要介绍了解决pytorch读取自制数据集出现过的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Python语言允许在定义函数的时候,其函数体内又包含另外一个函数的完整定义,这就是我们通常所说的嵌套定义。实例1:defOutFun(): 定义函数
不少朋友应该都有玩过反弹球游戏,也就是球掉落,通过移动球下方的平台,接住然后反弹球,保持球不掉出屏幕外得分。那么我们如果使用python,怎么写一个反弹球游戏呢?下面就给大家分享使用Python实现反弹球游戏代码,感兴趣的朋友可以参考学习。
在实际的开发中,模型之间经常存在复杂的关联关系,下面这篇文章主要给大家介绍了关于Django中select_related和prefetch_related的用法与区别的相关资料,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008