Linux下切换Python版本

这两天遇到一个问题须要在 python3 的环境下进行测试,因为Linux默认已经安装了Python2.7,而且做者一直也在使用 ,因此须要从新安装并临时切换到 python3。python

在网上查到不少资料,可是每一篇都讲的不全,须要结合起来看才行。python2.7

因此做者简单整理了下,但愿能经过这篇文章,但愿即能让你们达成效果,又能真正理解其中的原理。ide

简单来讲,要安装并切换到 python3,须要依次进行如下3个操做:工具

下载解压
编译安装
切换(修改默认连接)
即便使用虚环境,也是须要执行以上3步,由于建立虚环境的时候也会默认安装 python2 的版本。测试

下载解压
1> 下载Python源码
地址:https://www.python.org/downloads/
Linux下切换Python版本Linux下切换Python版本code

咱们这里下载了 3.6.3 版本 .tgz 后缀的文件。blog

2> 解压
1)、# tar -xvzf Python-3.6.3.tgz
2)、# cd Python-3.6.3ip

编译安装
1)、# ./configure --prefix=/usr/local/python3.6.3
2)、# make
3)、# make installget

安装完后,咱们能够在 /usr/local/python3.6.3 目录下看到:
Linux下切换Python版本源码

若是执行“./configure”时,不指定“–prefix=/usr/local/python3.6.3”,则默认会安装在 /usr/local/ 目录下。
也就是说,图上的4个目录文件(bin、include、lib、share)会安装在 /usr/local/ 目录下,与该目录下原有的目录文件合并。

进入 bin 目录,咱们即可以看到 python3 和 pip3 命令:
Linux下切换Python版本

虽然咱们能够在该路径下(/usr/local/python3.6.3/bin)使用 python3 和 pip3 命令,或是添加 path 环境变量后在任意路径使用,但使用时始终要加 “3”,而不是咱们一般用的 python 和 pip。

切换(修改默认连接)
咱们一般使用的 python 和 pip 命令,都是放在 /usr/bin/ 目录下
Linux下切换Python版本

因此,咱们须要让这里的 python 和 pip 命令 软连接到咱们的 python3 和 pip3 命令。

有如下两种方式(2选1便可):

一、手动
二、借助命令
手动:
1)、# cd /usr/bin

2)、# mv python python.back //备份原先的python
3)、# ln -s /usr/local/python3.6.3/bin/python3 /usr/bin/python

4)、# mv python python.back //备份原先的pip
5)、# ln -s /usr/local/python3.6.3/bin/pip3 /usr/bin/pip

这是,咱们再使用 python –version 和 pip –version 就能够看到版本已经切换好了
Linux下切换Python版本

借助命令
这里咱们借助的命令就是:update-alternatives

update-alternatives是dpkg的实用工具,用来维护系统命令的符号连接,以决定系统默认使用什么命令。

python
添加 python 的符号连接

1)、# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 100 //添加原先python2.7的

2)、# update-alternatives --install /usr/bin/python python /usr/local/python3.6.3/bin/python3 2 //添加新安装python3.6.3的

修改 python 的符号连接:

3)、# update-alternatives --config python
Linux下切换Python版本

pip
添加 pip 的符号连接

1)、# update-alternatives --install /usr/bin/pip pip /usr/bin/pip2.7 100 //添加原先pip2的

2)、# update-alternatives --install /usr/bin/pip pip /usr/local/python3.6.3/bin/pip3 2 //添加新安装pip3的
修改 pip 的符号连接:

3)、# update-alternatives --config pip
Linux下切换Python版本

其余注意事项

切换到 python3 后,可能会形成一些命令不能使用,如:yum。
这是由于这些命令不兼容 python3,只须要将其修改成使用原先的 python2 便可。

以下图,把文件头部的 #!/usr/bin/python 改为 #!/usr/bin/python2.7 。
Linux下切换Python版本

相关文章
相关标签/搜索