[linux]centos7 安装python3.7并且兼容python2.7

1、安装python3,所以要先安装相关包,用于下载编译python3:

#安装基本依赖
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make
或
yum -y install zlib-devel bzip2-devel openssl-devel openssl-static ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel lzma gcc

yum install zlib* libffi-devel

yum install libffi-devel -y

#运行这个命令添加epel扩展源
yum -y install epel-release

#安装pip
yum install python-pip

2、用pip装wget

pip install wget

3.用wget下载python3的源码包

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz

4.编译python3源码包


#解压
xz -d Python-3.7.0.tar.xz
tar -xf Python-3.7.0.tar
 
#进入解压后的目录,依次执行下面命令进行手动编译
cd Python-3.7.0
./configure prefix=/usr/local/python3
make && make install
 
# 如果出现can't decompress data; zlib not available这个错误,则需要安装相关库
#安装依赖zlib、zlib-devel
yum install zlib zlib
yum install zlib zlib-devel

如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录

错误: **ModuleNotFoundError: No module named '_ctypes'**

# Python3.7中缺少libffi-devel依赖
$ yum install libffi-devel -y
# 然后再执行即可
$ make install

错误: configure: error: no acceptable C compiler found in $PATH

# 错误如下:
configure: error: in `/usr/local/src/pythonSoft/Python-3.7.0':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

# 解决办法,安装gcc环境
$ yum install -y gcc

# 安装成功后重新执行
$ ./configure --prefix=/usr/python

5.添加软链接

#将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
 
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
 
#测试是否安装成功了
python -V

6.更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用

vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
 
vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2

7.检查python2和python3是否正常

#检查python2
python2 
#检查python3
python

 

你可能感兴趣的:(linux,centos,python)