在CentOS 7.9.2009 x86_64按网上教程安装Python3.10.6时出了一些问题。
主要是OpenSSL版本不够导致的,比如报错No module named '_ssl'
。
这个版本的Python要求OpenSSL的版本要高于1.1.1,CentOS的版本是1.0.2。
环境
- CentOS 7.9.2009 x86_64
安装
Step-1 编译安装OpenSSL-1.1.1
到OpenSSL官网找一个合适的版本:https://www.openssl.org/source/
这里我装的是openssl-1.1.1s:
$ wget https://www.openssl.org/source/openssl-1.1.1s.tar.gz
$ tar -zxvf openssl-1.1.1s.tar.gz
$ cd openssl-1.1.1s
$ sudo ./config
$ sudo make install
重新打开一个会话,执行openssl version
命令,可以看到升级完成了。
如果升级后报错openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
。执行以下命令即可:
$ ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
Step-2 编译安装python3.10.6
从国内镜像下载python:
$ wget https://registry.npmmirror.com/-/binary/python/3.10.6/Python-3.10.6.tgz
其他步骤其实差不多,configure
记得加--with-openssl=/usr/local/openssl
:
$ tar -zxvf Python-3.10.6.tgz
$ cd Python-3.10.6
$ sudo ./configure --enable-optimizations --with-openssl=/usr/local/openssl
$ sudo make install
参考
- OpenSSL升级版本到最新(1.1.1), https://cloud.tencent.com/developer/article/1763324