终端输入python3时系统选择的版本如何判定?如何切回Python3.6.5
系统选择python3版本的规则
当你在终端输入任意命令(包括python3)时,系统会按照PATH环境变量中目录的先后顺序,从左到右依次查找和命令同名的可执行文件,找到第一个匹配的就直接运行,不会再往后查找。
你之前修改PYTHONPATH无效的原因:PYTHONPATH是Python解释器启动后,用来查找第三方依赖包的路径,不会影响系统选择哪个Python解释器执行。
你的问题根源就是Anaconda在~/.bashrc末尾加的初始化脚本,把Anaconda的bin目录加到了PATH最前面,系统优先搜到了Anaconda自带的python3.8.8,就直接用了这个版本。
切回默认python3.6.5的解决方案
- 方案1:保留conda功能,仅关闭默认激活base环境(最推荐)
这个方案不影响你后续使用conda创建虚拟环境,只是登录终端时默认不启用conda的base环境,就能用系统原本的Python版本。执行以下命令即可:
执行后关闭当前终端重新打开就会生效。后续需要使用conda时,执行conda config --set auto_activate_base falseconda activate base或者对应虚拟环境名即可切换到conda的Python版本。 - 方案2:完全移除conda的环境变量注入
如果你不需要使用conda了,可以直接编辑~/.bashrc文件,把最后从# >>> conda initialize >>>到unset __conda_setup的整段内容删除或者注释掉,然后执行source ~/.bashrc就会回到安装conda前的状态。 - 方案3:保留conda初始化,强制提高系统Python优先级
如果你需要保留conda的初始化逻辑,但默认优先用系统Python,可以在~/.bashrc文件的最末尾添加一行:
保存后执行export PATH=/usr/bin:$PATHsource ~/.bashrc即可生效,该配置会把系统可执行文件目录放到PATH最前面,优先调用系统的python3.6.5。
验证方法
配置生效后,执行以下命令确认配置正确:
- 执行
which python3,输出应为/usr/bin/python3(系统默认Python的路径,如果你的系统Python安装在其他位置,替换为对应路径即可) - 执行
python3 --version,确认输出为Python 3.6.5即可。
内容的提问来源于stack exchange,提问作者smallwhite
相关产品推荐
相关产品推荐

