Linux下编译安装python3
作者:修雨轩陈@cnblog
1 前言
Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装python3和python2共存。
首先去python官网下载python3的源码包,网址:https://www.python.org/
2 安装
添加配置,指定安装目录
./configure --prefix=/usr/python
如图所示:
编译
make -j40
执行安装:
sudo make install
整个过程大约5-10分钟,安装成功之后,安装目录就在/usr/python
系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.6.
我们可以把这个删除,也可以新建一个python3的软链接,只不过执行时python要改成python3,或者python脚本头部声明要改为#!/usr/bin/python3
这里为了方便建议先重命名一下,然后建立个软链接就可以了,之前的程序头部也不用更改:
## 修改系统默认版本
$sudo mv /usr/bin/python /usr/bin/python.bak
$sudo ln -s /usr/python/bin/python3 /usr/bin/python
##修改本地用户版本
$sudo mv /usr/bin/python /usr/bin/python2.6 ##对系统默认版本python进行操作
这样就建立好了,以后直接执行python命令,就相当于调用python3,实际上python3也是个软链接,链接到python3.5.1,这个多次链接其实不影响,主要是为了版本升级更加方便,不用改版本号了
尝试着使用 python –V 命令:
(如果在sudo python –V 中显示python3.5 , 但是在python -V 显示为python2.7, 请选择重新启动服务器)
3 疑问或问题
3.1 如果还想使用python2.7 怎么办?
在原有的python 文件的第一行中添加python2.7 的路径:
#!/usr/bin/python.bak
或者是
#!/usr/bin/python2.7*
以上两句都是用于指定使用python 的版本.
3.2 接下来是另一个问题: pip2.7 与pip3 的问题:
在安装过程中会遇到一下问题:
注意:当安装好新版本的python后,会出现 pip2 和pip3 ; 这两个命令是有区别的,区别如下:
1- 安装的后的包位置不同
2- Pip2 /3 安装后都是仅适用于各自版本。