CentOS 7下编译安装Python 3.7与Python 2.7.5共存

环境:CentOS 7.6 x64

一、安装Python 3.7

下载python源码包:

wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz

如果没有wget命令,可以使用命令安装:yum -y install wget

安装依赖包,避免安装过程中出现的 "zipimport.ZipImportError" 错误 和 "ModuleNotFoundError: No module named '_ctypes'" 错误:

yum -y install zlib-devel libffi-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

解压、编译、安装:

tar -zxvf Python-3.7.4.tgz
cd Python-3.7.4
./configure --prefix=/usr/local/python3 --enable-optimizations
make && make install

修改环境变量:

vim /etc/profile

找到 "export PATH" 开头的行,在此行之前,插入新行,内容如下:

PATH=$PATH:/usr/local/python3/bin
#注意:等号两侧无空格,冒号:不能省

保存退出,执行命令:

source /etc/profile

现在我们看一下两个版本的python和pip是否共存:

[root@localhost ~]# python3 -V
Python 3.7.4
[root@localhost ~]# pip3 -V
pip 19.0.3 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)

[root@localhost ~]# python -V
Python 2.7.5
[root@localhost ~]# pip -V
pip 19.1.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)

因为系统的yum,以及其他组件,均依赖python2.7.5,所以不建议使用软链接的方式替换原来的python2环境。使用python3的时候,我们只需要按如下的操作即可:

pip3 install 包名
python3 -m pip install 包名
python3 -m pip install pymongo (安装Python3的pymongo包)
python3 myscripts.py
pip3 install --upgrade pip (升级pip3版本)
......

安装完成。