CentOS6.9下手动编译并安装Python3.7_yum安装

CentOS6.9默认安装的python版本为2.6.6,若想安装python3以上版本,只能手工编译安装

CentOS6.9下手动编译并安装Python3.7_编译安装_02

下面介绍python3.7.3版本的手动编译并安装的步骤

1、下载Python3.7.3的源码包

CentOS6.9下手动编译并安装Python3.7_编译安装_03

​​

2、由于pip3工具需要使用openssl,且openssl的版本也必需1.0.2以上版本

CentOS6.9系统默认的openssl版本为1.0.1e版本

CentOS6.9下手动编译并安装Python3.7_yum安装_04

然而yum install openssl openssl-devel的方式也无法升级到1.0.2版本

CentOS6.9下手动编译并安装Python3.7_python_05

那也只能手动编译并安装

下载openssl-1.1.1b.tar.gz新版本的源码包

​​

3、先编译安装openssl1.1.1b

解压tar -zxvf openssl-1.1.1b.tar.gz

cd openssl-1.1.1b

 ./config --prefix=/usr/local/openssl   #指定安装目录为/usr/local/openssl

 make && make install

编译完成后需要拷贝库文件

cp /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

cp /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

并替换

rm -rf /usr/bin/openssl

重新软链ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

CentOS6.9下手动编译并安装Python3.7_python_06

4、上传Python-3.7.3.tgz,并解压

然后编辑vi Modules/Setup.dist

CentOS6.9下手动编译并安装Python3.7_yum安装_07

找到ssl相关的5行,关闭注释

CentOS6.9下手动编译并安装Python3.7_编译安装_08

改成如下

CentOS6.9下手动编译并安装Python3.7_python_09

# Socket module helper for socket(2)

_socket socketmodule.c


# Socket module helper for SSL support; you must comment out the other

# socket line above, and possibly edit the SSL variable:

SSL=/usr/local/openssl

_ssl _ssl.c \

        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

        -L$(SSL)/lib -lssl -lcrypto

4、然后进行配置编译

./configure  --prefix=/usr/local/python3 --enable-optimizations

make (耗时比较长,需要耐性等待)

make install

1)make install时出现如下错误时需要yum安装yum install zlib-devel后再执行make install 

CentOS6.9下手动编译并安装Python3.7_python_10

2)出现如下错误时需要yum安装yum -y install libffi-devel tk-devel

CentOS6.9下手动编译并安装Python3.7_python_11

然后还需要从头开始开始编译

./configure  --prefix=/usr/local/python3 --enable-optimizations

make (耗时比较长,需要耐性等待)

make install

出现如下提示,说明编译安装成功

CentOS6.9下手动编译并安装Python3.7_编译安装_12

5、创建软链

 cd /usr/local/python3/

[root@localhost bin]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3

[root@localhost bin]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

接下来验证python3 pip能否直接运行

CentOS6.9下手动编译并安装Python3.7_yum安装_13

6、例如pip install pingtop小工具测试一下

Pingtop是一个实用程序,它会一次ping多个服务器,并在Top-like Terminal UI中显示结果,它是用Python编写的免费开源命令行程序

 pip install pingtop直接安装提示SSL证书问题

pip install  --trusted-host  files.pythonhosted.org pingtop设为信任站点

CentOS6.9下手动编译并安装Python3.7_python_14

安装后也创建软链

ln -s /usr/local/python3/bin/pingtop /usr/bin/pingtop

然后运行pingtop

pingtop www.baidu.com www.taobao.com www.qq.com 192.168.31.1 114.114.114.114

CentOS6.9下手动编译并安装Python3.7_编译安装_15

7、不能每次pip安装软件后都手动创建软链,可以通过修改PATH系统变量的方式

PATH=$PATH:/usr/local/mysql/bin:/usr/local/python3/bin

export PATH

CentOS6.9下手动编译并安装Python3.7_yum安装_16

CentOS6.9下手动编译并安装Python3.7_yum安装_17

扫描二维码关注公众号