有没有办法将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?
的相似但相反的问题答案 0 :(得分:18)
我建议改用“替代品”。作为超级用户(root)运行以下内容:
# start by registering python2 as an alternative
alternatives --install /usr/bin/python python /usr/bin/python2 50
# register python3.5 as an alternative
alternatives --install /usr/bin/python python /usr/bin/python3.5 60
# Select the python to use
alternatives --config python
最后一个命令会要求您在两种选择之间进行选择。
与往常一样,大多数情况下,您可以使用这个简单的命令查看手册(联机帮助页)
man alternatives
干杯
答案 1 :(得分:16)
如果这个
sudo ln -fs /usr/bin/python3 /usr/bin/python
不起作用(应该)
您可以使用以下命令在/home/.bashrc
中添加别名:
alias python="/usr/bin/python3.5"
如果这不起作用,你应该只使用虚拟环境。请阅读此page以开始使用。
答案 2 :(得分:2)
问题是,Linux CentOS 7如何将Python3.5.2设置为默认Python版本?
想要补充@OldFart的答案(不幸的是,我不能发表其他评论了。)
update-alternatives --install /usr/bin/python python /usr/bin/python2 50
将设置python2替代项的优先级为50,并且
update-alternatives --install /usr/bin/python python /usr/bin/python3.5 60
会将python3.5替代项设置为60。 并且默认情况下,python 3.5成为python命令的默认python可执行文件。
您是否要更改默认的python替代品
update-alternatives --config python
找到一种更好的方法,因为我不必修改路径文件。
答案 3 :(得分:2)
选项 1) 创建软链接实际上有一个缺点。 “yum”不支持 Python3。因此,如果您仍然决定使用符号链接创建,那么您还需要更新 /usr/bin/yum
ln -s /usr/bin/python3 /usr/bin/python
并在/usr/bin/yum文件中用#!/usr/bin/python2更新shebang行
选项 2) 使用替代方案
alternatives --install /usr/bin/python python /usr/bin/python3.x 60
alternatives --config python
选项 3) 在 bash_profile 中创建别名
alias python="/usr/bin/python3"
答案 4 :(得分:1)
我想提供一些额外的背景信息,说明为什么在OP中破坏yum,以及为什么我认为alternatives
方法是最好的方法。也许还有其他最佳实践,但是我已经取得了一些发现,并希望分享我的发现。
假设3.5.2为:
将/ usr / bin / python3位置上的“单独安装的3.5.2”链接到/ usr / bin / python上的系统python的命令覆盖或修改了系统python,从而破坏了yum。
这种方法补充了@OldFart的答案,并希望能提供有关导致单独安装python可能导致问题的根本原因的其他观点。
update-alternatives
是我遇到类似问题的新鲜空气
答案 5 :(得分:0)
这是为python设置替代配置选项后得到的
[root@localhost ~]# update-alternatives --config python
There are 2 programs which provide 'python'.
Selection Command
-----------------------------------------------
1 /usr/bin/python2.7
*+ 2 /usr/bin/python3.7
Enter to keep the current selection[+], or type selection number: 2
[root@localhost ~]#
[root@localhost ~]# python
-bash: /usr/bin/python: No such file or directory