Anaconda创建环境报错:执行conda env create时sys无platlibdir属性
报错根因
该错误由Python版本不兼容导致:sys.platlibdir是Python 3.10版本才新增的内置属性,你当前使用的Anaconda内置Python版本为3.8,调用了被高版本Python修改过的site.py文件,才触发属性不存在的异常。
排查步骤
- 执行
echo $PYTHONPATH命令,检查是否配置了指向高版本Python的全局库路径,如果输出非空,说明全局PYTHONPATH变量覆盖了Anaconda的内置库路径 - 执行
which python命令,确认当前默认调用的Python路径是否为Anaconda内置的/home/anaconda3/bin/python - 检查待导入的
src/conda_env.yaml配置文件,确认是否指定了3.10及以上版本的Python,导致环境创建过程中出现版本冲突
解决方案
临时生效方案
执行环境创建命令前先清空PYTHONPATH变量即可:
unset PYTHONPATH conda env create -f src/conda_env.yaml
永久生效方案
- 编辑用户目录下的
.bashrc(Bash用户)或.zshrc(Zsh用户)文件,删除或注释掉手动导出PYTHONPATH的配置语句,避免全局变量覆盖Anaconda的库路径 - 如果是yaml配置文件指定的Python版本过高,将文件内的Python版本约束调整为3.10及以上,再重新执行创建命令
- 若以上方案无效,直接升级Anaconda到最新版本,将内置Python版本升级到3.10+即可从根源解决属性缺失问题
内容的提问来源于stack exchange,提问作者Rhea Bedi
相关产品推荐
相关产品推荐

