如何在conda环境中永久移除Python sys.path的非期望路径?
永久移除Conda环境中sys.path的多余路径
下面是几个直接针对问题的排查和解决方向:
检查conda环境site-packages下的.pth文件
激活目标conda环境,定位到环境的site-packages目录:cd $(conda run -n your_env_name python -c "import site; print(site.getsitepackages()[0])")列出所有
.pth文件:ls *.pth逐个打开这些文件,查看是否包含
/home/david/.local/lib/python3.8/site-packages或/home/david/myproject2,找到后直接删除对应的行或无关的.pth文件。删除pip install -e生成的egg-link文件
pip install -e .会在site-packages目录下生成.egg-link文件,内容就是本地项目路径。在刚才的site-packages目录下执行:ls *.egg-link找到对应
myproject2的egg-link文件并直接删除,环境激活后就不会再加载该路径。排查conda环境的激活脚本
进入conda环境的激活脚本目录:cd $CONDA_PREFIX/etc/conda/activate.d/查看目录下的所有脚本文件(如
*.sh或*.py),检查是否有设置PYTHONPATH或手动添加sys.path的代码,找到后删除对应的路径配置。检查用户级site自定义脚本
查看用户目录下的site自定义文件:cat ~/.local/lib/python3.8/site-packages/usercustomize.py cat ~/.local/lib/python3.8/site-packages/sitecustomize.py如果这些文件里有手动添加目标路径到sys.path的代码,直接删除对应行即可。
内容的提问来源于stack exchange,提问作者DaveR
相关产品推荐
相关产品推荐

