安装依赖
这里openssl 部分是强相关的,如果不安装,后续 import ssl 会报错提示找不到 module. 代码中涉及到 https 的部分都无法运行。
yum -y groupinstall "Development tools"
yum install -y ncurses-devel gdbm-devel xz-devel sqlite-devel tk-devel uuid-devel readline-devel bzip2-devel libffi-devel
yum install -y openssl-devel openssl11 openssl11-devel
openssl 环境变量
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
下载python3.10源码包 ,或者使用百度云盘下载:链接:
wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz
tar xvf Python-3.10.6.tar.xz
mv Python-3.10.6 /usr/local/python3.10
cd /usr/local/python3.10/
修改配置文件,vi Module/Setup,取消以下部分的注释,让Python 在编译时就把 ssl 带上
第147行
_socket socketmodule.c
第215行 和 216行
_ssl _ssl.c $(OPENSSL_INCLUDES) $(OPENSSL_LDFLAGS) $(OPENSSL_LIBS)
_hashlib _hashopenssl.c $(OPENSSL_INCLUDES) $(OPENSSL_LDFLAGS) -lcrypto
安装 && 编译
./configure --prefix=/usr/local/sbin/pyt