问题描述
我试图在Ubuntu 16.04
中将默认python版本设置为python3
。默认情况下,它是python2
(2.7)。我按照以下步骤操作:
update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3
但我在第二个声明中收到以下错误,
rejeesh@rejeesh-Vostro-1015:~$ update-alternatives --install /usr/bin/python python /usr/bin/python3
update-alternatives: --install needs <link> <name> <path> <priority>
Use 'update-alternatives --help' for program usage information.
我是Ubuntu的新手,我不知道自己做错了什么。
最佳解决思路
打开.bashrc文件nano ~/.bashrc
。键入alias python=python3
到文件顶部的新行,然后用ctrl + o保存文件,并用ctrl + x关闭文件。然后,返回命令行键入source ~/.bashrc
。现在你的别名应该是永久性的。
编辑:
对于更新备选方案,优先级是整数。优先级表示应首先使用哪个程序。 This文章总结得很好。
次佳解决思路
提到的第二行可以更改为
update-alternatives --install /usr/bin/python python /usr/bin/python3 10
对于python3
的路径,优先级为10。编辑.bashrc
文件的缺点是在使用sudo
命令时它不起作用。
第三种解决思路
要更改为python3,可以在终端alias python=python3
中使用以下命令。
第四种思路
一种简单安全的方法是使用别名。将其放入〜/.bashrc文件:如果你使用gedit编辑器
gedit ~/.bashrc
进入bashrc文件,然后在bashrc文件的顶部进行以下更改。
alias python=python3
在文件中添加以上内容后。运行以下命令
source ~/.bash_aliases or source ~/.bashrc
例:
$ python –version
Python 2.7.6
$ python3 –version
Python 3.4.3
$ alias python=python3
$ python –version
Python 3.4.3
第五种思路
另外,您还可以为pip添加别名(在.bashrc或bash_aliases中):
alias pip=’pip3′
你们很多人发现python3的干净安装实际上指向python3.x所以你可能需要:
alias pip=’pip3.6′
alias python=’python3.6′
第六种思路
做
cd ~
gedit .bash_aliases
然后写任何一个
alias python=python3
要么
alias python='/usr/bin/python3'
保存文件,关闭终端并再次打开。你现在应该没事! Link
第七种思路
从中获取python路径
ls /usr/bin/python*
然后设置你的python版本
alias python="/usr/bin/python3"
第八种思路
正如它所说,update-alternatives --install
需要< link> <名称> <路径>和< priority>参数。
你有链接(/usr/bin/python
),名称(python
)和路径(/usr/bin/python3
),你缺少优先权。
update-alternatives --help
说:
<priority> is an integer; options with higher numbers have higher priority in automatic mode.
所以最后只需要放一个100
第九种思路
对于另一个non-invasive,current-user只接近:
# First, make $HOME/bin, which will be automatically added to user's PATH
mkdir -p ~/bin
# make link actual python binaries
ln -s $(which python3) python
ln -s $(which pip3) pip
python
pip
将在新 shell 中准备就绪。