有没有办法将Python 3.5.2设置为CentOS 7上的默认Python版本?目前,我已经安装了Python 2.7作为默认版本,并单独安装了Python 3.5.2。
我使用了以下命令
mv /usr/bin/python /usr/bin/python-old
sudo ln -fs /usr/bin/python3 /usr/bin/python
但是在此之后yum
给出误差。
-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory
我是不是漏掉了什么
注意:这与Linux CentOS 7, how to set Python2.7 as default Python version?的问题相似但相反
6条答案
按热度按时间6mzjoqzu1#
如果这
不起作用(应该)
你可以用下面的命令在你的
/home/.bashrc
中添加一个别名:如果这也不起作用,你应该只使用虚拟环境。阅读page开始。
chhqkbe12#
我建议使用**替代品***。
以超级用户( root *)身份运行以下命令:
最后一个命令将要求您在已注册/已安装的***替代项***之间进行选择。
和往常一样,在大多数情况下,您可以使用这个简单的命令来查看手册(linux man pages
注:
尽管这个答案指的是/利用特定的 * Python * 版本,* alternatives * 命令,它的概念和用法与版本号无关。强烈建议你阅读/学习更多关于***alternatives***命令的内容,以便理解它如何帮助你更好地管理和使用你的系统。另外,有一个很好的机会,一些人将纠正目前在他们的机器上使用的不良/不寻常的做法。我看到它与绝大多数人,我介绍的概念。这里是一个link to a very good and simple explanation of the alternatives command。
kx5bkwkv3#
选项1)创建软链接实际上有一个缺点。“yum”不支持Python3。因此,如果您仍然决定使用符号链接创建,则还需要更新/usr/bin/yum
并在/usr/bin/yum文件中使用#!/usr/bin/python 2更新shebang行
备选办法2)使用替代品
选项3)在bash_profile中创建别名
x3naxklr4#
问题是,Linux CentOS 7如何将Python3.5.2设置为默认Python版本?
我想补充@OldFart的回答(不幸的是,我不能发表评论)。
例如,
将python 2备选项的优先级设置为50,并且
将为python3.5替代项设置优先级60。默认情况下,python 3.5将成为python命令的默认python可执行文件。
如果您想更改默认python替代方案,
发现这是一个更好的方法,因为我不必修改我的路径文件。
olhwl3o25#
我想提供一些额外的背景,围绕为什么yum在OP中被打破,为什么我认为
alternatives
方法是最好的方法。也许还有其他最佳实践,但我已经取得了一些发现,并希望分享我的发现。假设3.5.2为:
1.单独安装(按照OP的建议),类似于以下步骤:源代码中的Python安装过程
1../configure的--前缀选项已从默认的--前缀= /usr/local/bin更新为--前缀= /usr/bin/python3
将/usr/bin/python3位置的“单独安装的3.5.2”链接到/usr/bin/python位置的系统python的命令覆盖或修改了系统python,破坏了yum。
这种方法补充了@OldFart的答案,并希望围绕单独安装的Python可能导致问题的根本原因提供一些额外的观点。
update-alternatives
对于我遇到的类似问题来说是一股新鲜空气hts6caw36#
使用
alternatives
将默认值设置为python3.6仍然会破坏yum。为了修复,请在两个文件中将python解释器更改为/usr/bin/python2.7
。我发现下面的文章很有用:https://rakeshjain-devops.medium.com/how-to-install-python-3-on-centos-7-7-using-yum-and-source-and-set-as-default-1dee13396f7