centos7编译安装python3
1.安装依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
2.下载软件包
wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tar.xz
下载列表:https://www.python.org/ftp/python/
3.编译安装
# 编译安装OpenSSL,因为默认centos7默认OpenSSL版本为1.0.2,而python 3.7之后对OpenSSL的版本要求 1.1.1或更高版本,所以需要手动安装一下
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz tar xf openssl-1.1.1.tar.gz cd openssl-1.1.1/ ./config --prefix=/usr/local/openssl shared zlib make && make install /usr/local/openssl/bin/openssl version # 检查安装是否成功 OpenSSL 1.1.1 11 Sep 2018 可能出现的报错:/usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory 报错的原因是系统没有识别到新的 OpenSSL 库,解决方法如下: # 将OpenSSL的库路径添加到系统库配置中 echo '/usr/local/openssl/lib' | sudo tee /etc/ld.so.conf.d/openssl-1.1.1.conf # 更新动态链接器的运行时绑定 sudo ldconfig -v # 验证系统是否能找到libssl.so ldconfig -p | grep libssl.so 在输出中,你应该能看到指向 /usr/local/openssl/lib/libssl.so 的条目。 tar -xf Python-3.9.7.tar cd Python-3.9.7 ./configure --prefix=/usr/local/python3.9 --with-openssl=/usr/local/openssl make && make install /usr/local/python3.12/bin/python3.9 -c "import ssl; print(ssl.OPENSSL_VERSION)" #验证SSL模块是否正常使用 OpenSSL 1.1.1 11 Sep 2018
如果使用系统默认版本,默认系统OpenSSL版本不适配,需要升级
yum install -y epel-release.noarch yum install -y openssl11 openssl11-devel cd Python-3.10.xxx #进入目录后替换编译命令 # 替换openssl 为openssl11 sed -i 's/PKG_CONFIG openssl /PKG_CONFIG openssl11 /g' configure
4.配置PATH及验证
vim ~/.bash_profile
PATH=/usr/local/python3.9/bin:$PATH:$HOME/bin
. ~/.bash_profile
env python3
"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少

浙公网安备 33010602011771号