Ubuntu下完美切换Python版,即设置系统默认的python版本(亲测有效)
前言:
我需要把ubuntu的python环境设置成python3.8,用本博客中介绍的方法亲测有效。
本文转载的博客转载自https://blog.csdn.net/beijiu5854/article/details/77897767
本文转载自http://blog.csdn.net/u013894834/article/details/75305752
Ubuntu16.04下完美切换Python版本(亲测)
正文:
对于ubuntu 16.04,由于本身是自带python,这样就减少了在windows下的下载和环境变量配置,非常不错。但是他本身是自带两个版本的python,2.X和3.X,两个版本,两个版本默认的是使用2.X,毕竟3.X是一个趋势,今后我这边应该也会主要使用3.X版本,所以这里记录一下如果在版本间切换以及如何把python版本切换到3.X下的方法。
注意:要以root身份操作
一: 确认本机下的python默认版本。调出终端,输入python即可查看默认的版本:
二:如果想要查看本机自带的python的另一个版本为多少,需要命令python3即可:
(博主电脑里自带的是2.7和3.5并没有3.6,我自己电脑的3.6是另外安装的,这个简单,就不多说了,但是输入Python3时显示的是3.5并不是3.6,显示3.6要输入Python3.6,估计是因为我电脑里面3.5的优先级高于3.6,关于优先级的操作,在下面)
三: 如何切换这两个版本以及切换默认的python版本:
我们可以使用 update-alternatives 来为整个系统更改Python 版本。以 root 身份登录,首先罗列出所有可用的python 替代版本信息:
进入root模式的命令:
sudo su
update-alternatives --list python
update-alternatives: error: no alternatives for python
如果出现以上所示的错误信息,则表示 Python 的替代版本尚未被update-alternatives 命令识别。想解决这个问题,我们需要更新一下替代列表,将python2.7 和 python3.4 放入其中。
# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
# update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
(这里我设置没有成功,但是我还是把电脑里的三个Python版本全都设置了一遍,最后还是成功切换Python版本了)
–install 选项使用了多个参数用于创建符号链接。最后一个参数指定了此选项的优先级,如果我们没有手动来设置替代选项,那么具有最高优先 级的选项就会被选中。这个例子中,我们为/usr/bin/python3.4 设置的优先级为2,所以update-alternatives 命 令会自动将它设置为默认 Python 版本。
# python --version
Python 3.5.2
(因为上面博主没有设置成功,所以这一步显示的还是2.7)
接下来,我们再次列出可用的 Python 替代版本。
# update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.5
现在开始,我们就可以使用下方的命令随时在列出的 Python 替代版本中任意切换了。
# update-alternatives --config python
接下来,我们再次列出可用的 Python 替代版本。
# update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.5
现在开始,我们就可以使用下方的命令随时在列出的 Python 替代版本中任意切换了。
(这一步是最关键的)
# update-alternatives --config python
下面就简单了,会提示你输入序号,你想用哪个版本为默认,就输入序号就可以了!
_(:з」∠)_此贴完结,撒花