python3
。安装了两个版本,python 3.4.3
和python 3.6
。每当我使用python3
命令时,默认情况下都会使用python 3.4.3
。我想将python 3.6
与python3
一起使用。python3 --version
显示version 3.4.3
我正在安装支持
ansible
的version > 3.5
。因此,每当我在终端中键入ansible时,由于python 3.4
#1 楼
来自注释:sudo update-alternatives --config python
将显示一个错误:
update-alternatives: error: no alternatives for python3
您需要更新您的
update-alternatives
,那么您就可以设置默认的python版本。sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
然后运行:
sudo update-alternatives --config python
将python3.6设置为默认值。
或使用以下命令将python3.6设置为默认值:
sudo update-alternatives --set python /usr/bin/python3.6
评论
这个答案可能会适得其反。选择其他版本的python后,尝试运行sudo apt update。如果出现类似ModuleNotFoundError的错误:您没有想要名为/ apt / pkg的模块,请转到/ usr / lib / python3 / dist-packages并创建符号链接:ln -s apt_pkg.cpython- {34m,36m} -x86_64- linux-gnu.so。
– Giacomo Alzetta
19年5月30日在8:22
@ GAD3R谢谢。我设法手动创建了一个符号链接以指向Python 3.6。另外,我没有安装3.7。
– Slava Fomin II
19年9月11日在8:58
用这种方法使python3指向python3.8,对我来说断了gnome-terminal。
–鲍里斯(Boris)
19-10-17在23:49
@Johny我刚刚在〜/ .bash_profile中添加了别名python =“ python3.8”
–鲍里斯(Boris)
19年11月25日在21:02
在Ubuntu 18.04 LTS中可以正常工作而不会破坏APT。请注意那些困惑的人:如果收到错误消息:python消息没有替代方法,那么您需要先运行--install命令(替换您要使用的python版本,并且最后的数字只是(订购),然后再次运行--config命令,系统将询问您默认使用哪个版本。
–tpartee
20-2-25在6:50
#2 楼
您可以通过以下简单步骤来实现此目的-在终端上检查python版本-python --version
获取root用户特权。在终端类型上-
sudo su
写下root用户密码
执行此命令以切换到python 3.6-
update-alternatives --install /usr/bin/python python /usr/bin/python3 1
检查python版本-
python --version
完成。
评论
在Ubuntu 18.04上运行良好。比其他解决方案简单。非常感谢
– Mohammad Heydari
19年8月13日在23:29
这有效:sudo update-alternatives --set python /usr/bin/python3.7 python --version
– Sam-T
19/12/23在0:28
也可以在Pop上使用!操作系统
–弗朗西斯
20年1月18日,下午3:27
第3步的意义是什么?
– goonerify
20年2月1日在18:17
@goonerify这是步骤2的后半部分
– Cameron Tacklind
20-3-30在11:16
#3 楼
使用以下命令可以帮助您:检查python的版本:
ls /usr/bin/python*
别名:
alias python='/usr/bin/pythonxx'
(将此添加到. ~/.bashrc
)重新登录或获取
. ~/.bashrc
再次检查python版本:
python --version
评论
谢谢,但是重新启动计算机后,主要的python仍然是ex python 2.7
– Mohammad Heydari
19年8月13日在23:25
您应该添加脚本以修改〜/ .bashrc中的默认值。然后,您将使其永远工作。
– Newt
19年11月4日13:32
像这样:export python = / home / xxx(您的py3目录)
– Newt
19年11月4日在13:40
#4 楼
一个简单的答案是为python3.6添加一个别名。只需在文件〜/ .bashrc:alias python3="python3.6"
中添加此行,然后关闭您的终端并打开一个新终端即可。现在,当您键入python3 xxx
时,它将转换为python3.6 xxx
。此解决方案可解决您的问题,而无需过多调整系统。 >正如MikaelKjær所指出的,这是对您的系统的错误配置。 > / usr / bin / python3。 ansible_python_interpreter配置选项
通常按主机设置为与一个主机或一组主机关联的清单变量:
# Example inventory that makes an alias for localhost that uses python3
[py3-hosts]
localhost-py3 ansible_host=localhost ansible_connection=local
[py3-hosts:vars]
ansible_python_interpreter=/usr/bin/python3
关于配置文件的信息如下所示:
可以在配置文件中进行更改并使用,将按以下顺序处理:
* ANSIBLE_CONFIG (an environment variable)
* ansible.cfg (in the current directory)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg
评论
实际上,我正在安装ansible,它仅支持> python 3.5
– codeclue
17年12月13日在9:35
您可以将ansible_python_interpreter变量设置为使用python3.6。 docs.ansible.com/ansible/latest/python_3_support.html
– MikaelKjær
17年12月13日在9:37
@MikaelKjær我刚刚在评论中添加了您的评论
–user264413
17年12月13日在9:46
#5 楼
如果您的系统中有多个版本的python。您只需要在/usr/bin/
内部更新python的符号链接root@irshad:/usr/bin# ls -lrth python*
lrwxrwxrwx 1 root root 9 Apr 16 2018 python -> python2.7
-rwxr-xr-x 1 root root 3.6M Nov 12 2018 python2.7
-rwxr-xr-x 2 root root 4.4M May 7 14:58 python3.6
在上面的示例中,如果看到
python --version
的输出,您将得到python2.7 现在使用以下命令更新python符号链接-
root@irshad:/usr/bin# unlink python
root@irshad:/usr/bin# ln -s /usr/bin/python3.6 python
root@irshad:/usr/bin# python --version
Python 3.6.8
评论
最佳答案!谢谢你,朋友 :)
– Bryan_C
20 Dec 18'在3:52
#6 楼
为/ usr / bin / python3创建符号链接。在我的LinuxMint中:
# ls -lh /usr/bin/python3 /usr/bin/python
lrwxrwxrwx 1 root root 9 ноя 24 2017 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root 9 сен 6 2017 /usr/bin/python3 -> python3.5
# mv /usr/bin/python /usr/bin/python.bak
# cp /usr/bin/python3 /usr/bin/python
# python --version
Python 3.5.2
评论
这打破了apt安装程序。
– jws
20 May 5 '21:30
#7 楼
首先检查您是否有python3.6文件夹?ls /usr/bin/python3.6
如果您有“ python3.6”文件夹,那很好。现在,更新替代品
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
然后更新python3的新配置
sudo update-alternatives --config python3
最后,检查默认的python3版本:
python3 --version
评论
尼特:您在bin下没有文件夹,您具有可执行文件。
–mayid
20-10-1在22:52
#8 楼
您可以通过ln -sf python3.6 python3
内的/usr/bin
来更改符号链接。这样,当您调用python3
时,它将执行python3.6
#9 楼
update-alternatives是将系统符号链接更改为用户定义/管理员定义的符号链接。如果您的系统中安装了多个python3版本,并且想要控制在调用python3时调用哪个python3版本。如果要以后更改优先级,请执行以下
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.4 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2
运行以下命令。
update-alternatives --config python3
说明:-
sudo update-alternatives --install <symlink_origin> <name_of_config> <symlink_destination> <priority>
您可以继续将name_of_config更改为python4,但随后必须使用python4调用update-alternatives --config进行重新配置。
使用这种方法,您可以分别控制系统python版本和python3版本。
评论
用于执行python 3.6的命令是什么?命令是:-python3.6
您的sudo update-alternatives --config python3怎么说?
update-alternatives:错误:python3没有替代品
@Mikael不同的Python版本不是Ubuntu上的替代版本。操作系统依赖于要安装的特定版本。