CentOS6.9默认安装的python版本为2.6.6,若想安装python3以上版本,只能手工编译安装
下面介绍python3.7.3版本的手动编译并安装的步骤
1、下载Python3.7.3的源码包
2、由于pip3工具需要使用openssl,且openssl的版本也必需1.0.2以上版本
CentOS6.9系统默认的openssl版本为1.0.1e版本
然而yum install openssl openssl-devel的方式也无法升级到1.0.2版本
那也只能手动编译并安装
下载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
4、上传Python-3.7.3.tgz,并解压
然后编辑vi Modules/Setup.dist
找到ssl相关的5行,关闭注释
改成如下
# 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
2)出现如下错误时需要yum安装yum -y install libffi-devel tk-devel
然后还需要从头开始开始编译
./configure --prefix=/usr/local/python3 --enable-optimizations
make (耗时比较长,需要耐性等待)
make install
出现如下提示,说明编译安装成功
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能否直接运行
6、例如pip install pingtop小工具测试一下
Pingtop是一个实用程序,它会一次ping多个服务器,并在Top-like Terminal UI中显示结果,它是用Python编写的免费开源命令行程序
pip install pingtop直接安装提示SSL证书问题
pip install --trusted-host files.pythonhosted.org pingtop设为信任站点
安装后也创建软链
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
7、不能每次pip安装软件后都手动创建软链,可以通过修改PATH系统变量的方式
PATH=$PATH:/usr/local/mysql/bin:/usr/local/python3/bin
export PATH
扫描二维码关注公众号