在Centos上安装python3 保留原有的python2
当前多数Centos系统都是安装的python2.*,如果我们需要python3,记录方法如下:
1.首先查看当前系统中的python version和执行文件的位置
[ainet@wqworkstation ~]$ python -V Python 2.7.5 [ainet@wqworkstation ~]$ which python /usr/bin/python
[ainet@wqworkstation bin]$ ll *python* -rwxr-xr-x. 1 root root 11216 Dec 1 2015 abrt-action-analyze-python lrwxrwxrwx. 1 root root 7 Oct 24 2014 python -> python2 lrwxrwxrwx. 1 root root 9 Oct 24 2014 python2 -> python2.7 -rwxr-xr-x. 1 root root 7136 Nov 6 2016 python2.7 -rwxr-xr-x. 1 root root 1835 Nov 6 2016 python2.7-config lrwxrwxrwx. 1 root root 16 Oct 24 2014 python2-config -> python2.7-config lrwxrwxrwx. 1 root root 14 Oct 24 2014 python-config -> python2-config
可以看到python的软连接指向的是Python2,最终指向python2.7.当然系统默认的python目录也是当前目录。
2.安装python3
目标是系统默认python为python3
首先配置好yum
运行命令:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y
对于python3.7版本上,还需要安装另外一个包。如果没有这个,会导致make install失败(ModuleNotFoundError: No module named '_ctypes')
yum install libffi-devel -y
对于上面python的执行文件,可以先备份一下。cd /usr/bin/ ; mv python python.bak
3.编译安装python3
下载,首选官网,官网可以明显找到当前的稳定版本python
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
gunzip Python*.tgz
tar -xvf Python*.tar
cd Python*
编译指定安装目录:我们一般指定后期自己编译安装的软件路径为:/usr/local/
./configure prefix=/usr/local/python3
make && make install
添加连接到bin目录
ln -s /usr/local/python3/bin/python3.7.2 /usr/bin/python
3.确认查看
python -V
4.修改其他常用默认配置
由于系统中yum使用的都是python2.*
此时系统用python2 是python2.*
修改 /usr/bin/yum 中#!/usr/bin/python → #!/usr/bin/python2
修改 /usr/libexec/urlgrabber-ext-down中#!/usr/bin/python → #!/usr/bin/python2
※如果不修改,yum运行的时候会报错的哦
※File "/usr/bin/yum", line 30 及 File "/usr/libexec/urlgrabber-ext-down", line 28
大功告成。