centos7编译安装python3.9

之前记录了centos6上编译安装python3.7的笔记,目前服务器系统使用的centos7,而且需要使用高版本的python,所以更新下笔记。

centos7编译安装python3时需要OpenSSL 1.1.1+以上版本,否则就会报错,而centos7自带OpenSSL 1.0.2k版本,满足不了编译安装python3.9的要求,所以我们需要先编译安装的1.1.1+以上版本openssl,这里我们选择了openssl-1.1.1w这个版本,下面来看看编译安装过程

首先需要安装依赖包

yum install -y zlib zlib-devel

现在openssl源码包,可以去这个网站查看最新版本https://www.openssl.org/source/

wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar -zxvf openssl-1.1.1w.tar.gz

创建/usr/local/openssl目录,后面编译安装时指定编译安装到这个目录

mkdir -p /usr/local/openssl
cd openssl-1.1.1w
./config --prefix=/usr/local/openssl shared zlib
make
make install

编译安装完成以后我们还需要替换一些文件

mv /usr/bin/openssl /usr/bin/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/include/openssl /usr/include/openssl
echo "/usr/local/lib64" >>/etc/ld.so.conf
ldconfig -v
openssl version -a

微信截图_20231222175903.png
返回了OpenSSL 1.1.1w说明openssl这部就编译完成了,我们接着编译安装python3.9

首先下载python3.9源码包

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

创建/usr/local/python3目录,后面python3.9就编译到这个目录

mkdir -p /usr/local/python3
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --enable-optimizations

如果有"Could not import runpy module"的报错,说明gcc版本太低,升级gcc版本可以查看这个笔记中的gcc升级过程:https://sulao.cn/post/950.html,或者去掉--enable-optimizations这个参数也可以顺利编译完成。

make && make install

编译完成以后我们需要把解释器软链到/usr/bin目录下

ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip3

然后我们可以使用python3命令和pip3命令进行python运行和管理了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/951.html