Ubuntu18.04下python版本完美切换的解决方法

yipeiwu_com6年前Python基础

ubuntu18.04版本,python版本python2.7,python3.5,python3.6

因为安装一些库会安装到python3.6上,而默认使用的是python2.7,使用python3,默认会使用python3.5,无法调用安装包。

解决方法:

一、使用python xx.py运行程序时,加上版本号。比如python3.6 xx.py

二、1.要以root身份操作

yz@yz-pc:~$ sudo su

2.确认本机下的python默认版本。调出终端,输入python即可查看默认的版本:

root@yz-pc:/home/yz# python
Python 3.6.5 (default, Apr 1 2018, 05:46:30) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
root@yz-pc:/home/yz# python2.7
Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
root@yz-pc:/home/yz# python3
Python 3.6.5 (default, Apr 1 2018, 05:46:30) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
root@yz-pc:/home/yz# python3.5

3.如何切换这两个版本以及切换默认的python版本:

我们可以使用 update-alternatives 来为整个系统更改Python 版本。以 root 身份登录,首先罗列出所有可用的python 替代版本信息:

#update-alternatives --list python
update-alternatives: error: no alternatives for python

如果出现以上所示的错误信息,则表示 Python 的替代版本尚未被update-alternatives 命令识别。想解决这个问题,我们需要更新一下替代列表,将python2.7 和 python3.6放入其中。

​# 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 

--install 选项使用了多个参数用于创建符号链接。最后一个参数指定了此选项的优先级,如果我们没有手动来设置替代选项,那么具有最高优先 级的选项就会被选中。这个例子中,我们为/usr/bin/python3.4 设置的优先级为2,所以update-alternatives 命 令会自动将它设置为默认 Python 版本。

# python --version
Python 3.5.2

接下来,我们再次列出可用的 Python 替代版本。

# update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.5

现在开始,我们就可以使用下方的命令随时在列出的 Python 替代版本中任意切换了。

(这一步是最关键的)

# update-alternatives --config python

下面就简单了,会提示你输入序号,你想用哪个版本为默认,就输入序号就可以了!

结束!

参考文章:ubuntu 16.04下python版本切换的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

flask框架中勾子函数的使用详解

在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接; 在请求开始时,根据需求进行权限校验; 在请求结束时,指定数据的交互格式...

5款Python程序员高频使用开发工具推荐

5款Python程序员高频使用开发工具推荐

很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头。后来工作中深刻体会到,合理使用开发的工具的便利和高效。今天,我就把Pyth...

Python for Informatics 第11章之正则表达式(二)

注:以下文章原文来自于Dr Charles Severance 的 《Python for Informatics》 11.1 正则表达式的字符匹配   我们可以用许多其它的特殊字符...

Python的互斥锁与信号量详解

并发与锁 多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁 互斥锁 1. 互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全...

pycharm恢复默认设置或者是替换pycharm的解释器实例

pycharm恢复默认设置或者是替换pycharm的解释器实例

Windows 找到下面的路径,然后删掉即可 # Windows Vista, 7, 8, 10:<SYSTEM DRIVE>\Users\<USER ACCOUN...