如何在Amazon Linux 2中将默认Python切换为3.9.6版本?
解决Amazon Linux 2中
python命令默认指向Python2的问题 你的系统里python命令默认绑定的是系统自带的Python2.7(路径/usr/bin/python),手动安装的Python3.9则在/usr/local/bin/python3.9,所以直接执行python会调用旧版本。以下是几种可行的解决方法:
方法1:临时切换(仅当前终端会话生效)
执行命令临时将python指向Python3.9:
alias python='/usr/local/bin/python3.9'
执行后验证:
python --version
会显示Python 3.9.6,但关闭终端后设置会失效。
方法2:永久生效(仅当前用户)
编辑用户目录下的~/.bashrc或~/.bash_profile文件,添加上述别名配置:
echo "alias python='/usr/local/bin/python3.9'" >> ~/.bashrc
让配置立即生效:
source ~/.bashrc
之后新开终端或重新登录,python命令就会默认调用Python3.9。
方法3:全局生效(所有用户)
通过update-alternatives工具配置系统级的Python默认版本:
- 先给Python2.7和Python3.9注册备选项:
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 update-alternatives --install /usr/bin/python python /usr/local/bin/python3.9 2
- 选择默认版本:
update-alternatives --config python
执行后会弹出选项列表,输入对应Python3.9的序号即可设置为默认。
重要提醒
不要直接删除或替换/usr/bin/python的软链接,Amazon Linux 2的系统工具(如yum)依赖Python2.7,强行替换会导致这些工具无法正常运行。
原问题命令输出:
[root@AnsibleM Python-3.9.6]# python --version Python 2.7.18 [root@AnsibleM Python-3.9.6]# python3.9 --version Python 3.9.6 [root@AnsibleM Python-3.9.6]# which python /usr/bin/python [root@AnsibleM Python-3.9.6]# which python3.9 /usr/local/bin/python3.9 [root@AnsibleM Python-3.9.6]#
内容的提问来源于stack exchange,提问作者Satyam Pandey
相关产品推荐
相关产品推荐

