Anaconda默认自动初始化环境变量的问题
Anaconda 虚拟环境的sys.path路径问题
以OC_SORT为例,我创建了虚拟环境ocsort
,并运行了如下命令
python3 setup.py develop
在利用YOLOX进行训练时出现了问题,于是我git clone
了原版的YOLOX
并切换到新的文件夹中,但是此时虚拟环境ocsort
仍然是激活的
运行时出现了如下错误
ImportError: cannot import name 'configure_omp' from 'yolox.utils'
通过print(sys.path)
查看,奇妙地发现了当中有
而OCSORT文件夹下正好有yolox子文件夹,所以python就找到了错误的文件(这其实也由于OCSORT项目和YOLOX版本不完全一致)
通过上面的截图可以发现,系统变量是正常的,但是在Python的sys.path当中却出现了一个默认添加的路径
.pth文件与默认加载的路径
A path configuration file is a file whose name has the form name.pth and exists in one of the four directories mentioned above; its contents are additional items (one per line) to be added to sys.path.
Anaconda中site-packages的位置在
/home/XXX/anaconda3/envs/ENV_NAME/lib/python3.9/site-packages/
这里面有一个.pth文件,猜测就是配置环境时加入的,让conda有了一个默认的路径
可以动态地在运行的时候修改一下sys.path避免读取到错误的路径
本博文本意在于记录个人的思考与经验,部分博文采用英语写作,可能影响可读性,请见谅
本文来自博客园,作者:ZXYFrank,转载请注明原文链接:https://www.cnblogs.com/zxyfrank/p/16270455.html