指定Python可执行文件运行:Anaconda与系统Python冲突解决方案咨询
解决Anaconda Python与系统Python库依赖问题
这种情况我碰到过不少,核心问题就是终端默认的python3指向了Anaconda的Python环境,而这个环境里没装你需要的LIB库,系统自带的/usr/bin/python3.8是独立环境,已经配置好了依赖。完全没必要卸载Anaconda(毕竟它在虚拟环境管理、数据科学工具链上还是很实用的),给你几个分层的解决方案:
方案一:给Anaconda环境安装缺失的LIB库
既然Anaconda的Python环境缺库,直接补装就行:
- 先激活Anaconda的base环境(如果没自动激活的话):
conda activate - 用conda或者pip安装目标库(根据库的来源选):
- 如果是conda维护的包:
conda install lib-name(把lib-name换成你要导入的库名) - 如果是PyPI的包:
pip install lib-name
- 如果是conda维护的包:
- 安装完成后再输入
python3启动shell,导入库应该就正常了。
方案二:临时指定系统Python执行操作
如果只是偶尔需要用系统Python,不用改配置,直接指定路径即可:
- 启动Python shell:
/usr/bin/python3.8 - 运行脚本:
/usr/bin/python3.8 your_script.py
方案三:修改终端默认Python优先级(保留Anaconda功能)
如果想让终端默认的python3指向系统版本,但仍保留Anaconda的conda命令和虚拟环境功能:
- 打开你的
.bashrc文件:nano ~/.bashrc - 找到你提供的那段Anaconda初始化代码(
# >>> conda initialize >>>到# <<< conda initialize <<<) - 在这段代码的后面添加一行:
或者用别名更直观:export PATH="/usr/bin:$PATH"alias python3='/usr/bin/python3.8' - 保存文件后,重启终端或者执行
source ~/.bashrc让配置生效。
这样终端里输入python3会优先调用系统版本,而conda activate等命令依然可以正常使用。
方案四:禁用Anaconda自动初始化(按需启用)
如果你平时很少用Anaconda,不想让它干扰终端默认环境:
- 打开
.bashrc文件:nano ~/.bashrc - 把那段Anaconda初始化代码用注释符号
#全部注释掉,或者直接删除 - 保存并重启终端,此时默认
python3就是系统版本 - 当需要用Anaconda时,手动执行激活命令:
source /home/user1/anaconda3/bin/activate,之后就能正常使用conda命令了。
内容的提问来源于stack exchange,提问作者user1584421
相关产品推荐
相关产品推荐

