问题描述
我正在使用Ubuntu 16.04 LTS。我安装了python3
。安装了两个版本,python 3.4.3
和python 3.6
。每当我使用python3
命令时,默认情况下它将使用python 3.4.3
。我想将python 3.6
与python3
一起使用。
python3 --version
显示为version 3.4.3
我正在安装支持version > 3.5
的ansible
。因此,每当我在终端中键入ansible时,由于python 3.4
都会引发错误
最佳办法
从评论:
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版本-
python --version
-
获取root用户特权。在端子上-
sudo su
-
写下root用户密码
-
执行此命令以切换到python 3.6-
update-alternatives --install /usr/bin/python python /usr/bin/python3 1
-
检查python版本-
python --version
-
做完了
第三种办法
为/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
# cp /usr/bin/python3 /usr/bin/python
# python --version
Python 3.5.2
第四种办法
使用这些命令可以帮助您:
-
检查python的版本:
ls /usr/bin/python*
-
别名:
alias python='/usr/bin/pythonxx'
-
re-login:
. ~/.bashrc
-
再次检查python版本:
python --version
第五种办法
一个简单的答案是为python3.6添加一个别名。
只需将这一行添加到文件〜/.bashrc中:alias python3="python3.6"
,然后关闭您的终端并打开一个新终端。现在,当您键入python3 xxx
时,它将转换为python3.6 xxx
。
此解决方案可解决您的问题,而无需过多地调整系统。
编辑:
正如Mikael Kjær指出的那样,这是对您的系统的错误配置。
如图所示here :
Set the
ansible_python_interpreter
configuration option to /usr/bin/python3. The ansible_python_interpreter configuration option is usually set per-host as an inventory variable associated with a host or group of hosts:# 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
如关于配置文件的here所示:
Changes can be made and used in a configuration file which will be processed in the following order:
* ANSIBLE_CONFIG (an environment variable) * ansible.cfg (in the current directory) * .ansible.cfg (in the home directory) * /etc/ansible/ansible.cfg