https://www.cnblogs.com/blogabc/p/17188812.html
原文:
cd /root
#只是将python3.11的安装包下载到 /root目录下
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
#下载最新的软件安装包
tar -xzf Python-3.11.0.tgz
#解压缩安装包
yum -y install gcc zlib zlib-devel libffi libffi-devel
#安装源码编译需要的编译环境
yum install readline-devel
#可以解决后期出现的方向键、删除键乱码问题, 这里提前避免.
yum install openssl-devel openssl11 openssl11-devel
#安装openssl11, 后期的pip3安装网络相关模块需要用到ssl模块.
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
#设置编译FLAG, 以便使用最新的openssl库
cd /root/Python-3.11.0
#进入刚解压缩的目录
./configure --prefix=/usr/python --with-ssl
#指定python3的安装目录为 /usr/python 并使用ssl模块, 指定目录好处是
#后期删除此文件夹就可以完全删除软件了.
make
make install
#就是源码编译并安装了, 时间会持续几分钟.
ln -s /usr/python/bin/python3 /usr/bin/python3
ln -s /usr/python/bin/pip3 /usr/bin/pip3
#指定链接, 此后我们系统的任何地方输入python3就是我们安装的
#这个最新版python3了
三.可能安装过程中遇到的问题
1.报错出现‘No package openssl11 available’:
解决方法:
多数是你没有安装EPEL (即企业版linux扩展包) , 使用以下方法即可:
yum install epel-release
2.make编译的时候出现报错, 此报错在make执行完的最后面会提示:
‘Could not build the ssl module!
Python requires a Openssl 1.1.1 or newer’'
yum install openssl-devel openssl11 openssl11-devel
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
cd /root/Python-3.11.0
./configure --prefix=/usr/python --with-ssl
还有警告:
python 3.11 WARNING: unrecognized options: --with-ssl
https://www.cnblogs.com/wanshuduner/p/11649472.html
于是
./configure --prefix=/usr/python --with-ssl-default-suites=openssl
make && make install
附:中途遇到的错误:
pycurl.so: undefined symbol: CRYPTO_num_locks
pycurl.so: undefined symbol 解决方法
pycurl.so: undefined symbol 解决方法 - 简书
ldd /usr/lib64/python2.7/site-packages/pycurl.so
libcurl.so.4在哪里: locate libcurl.so.4