如何在Rocky Linux 8中使用alternatives工具让python与python3指向同一Python版本
如何在Rocky Linux 8中使用alternatives工具让python与python3指向同一Python版本
嗨,我来帮你理清这个问题!你说得没错,alternatives工具默认是处理单个命令(比如python)对应多个版本的1对n映射关系,但其实它有个很实用的功能可以帮你实现python和python3同步指向同一版本的需求——那就是slave(从属)链接,这也是最规范的做法,能让两者的版本始终保持同步。
具体操作步骤:
- 先清理之前单独创建的
python3alternatives组(如果有的话):alternatives --remove python3 /usr/local/bin/python3.10 - 重新配置
python的alternatives组,同时添加python3(以及配套的pip、pip3)作为从属链接:
这里的alternatives --install /usr/bin/python python /usr/local/bin/python3.10 50 \ --slave /usr/bin/python3 python3 /usr/local/bin/python3.10 \ --slave /usr/bin/pip pip /usr/local/bin/pip3.10 \ --slave /usr/bin/pip3 pip3 /usr/local/bin/pip3.10--slave参数的作用是:把/usr/bin/python3、/usr/bin/pip等链接和主链接/usr/bin/python绑定在一起。以后你切换python的alternatives版本时,这些从属链接会自动同步切换到对应版本的文件,完全不用手动维护。
验证配置是否生效:
- 查看
python的alternatives详情,确认从属链接状态:alternatives --display python - 测试版本一致性:
这几个命令应该都返回Python 3.10.9(以及对应版本的pip)。python --version python3 --version pip --version pip3 --version
为什么之前的方法会有问题?
你之前单独执行alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.10 50,确实会创建一个独立的python3 alternatives组,这样python和python3的映射关系是完全分开的,切换其中一个的版本不会影响另一个,这显然不是你想要的效果。而用从属链接就能完美解决这个同步问题。
备注:内容来源于stack exchange,提问作者Human
相关产品推荐
相关产品推荐

