You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7下如何让Python3.9正确编译使用OpenSSL1.1.1

解决CentOS7下Python3.9 SSL模块不可用问题

步骤1:定位OpenSSL 1.1.1k的实际安装路径

CentOS7默认自带OpenSSL 1.0.2版本,你手动安装的1.1.1k通常会部署在/usr/local目录下,执行以下命令确认具体路径:

# 查找OpenSSL头文件位置
find / -name "ssl.h" | grep openssl
# 查找OpenSSL核心库文件位置
find / -name "libssl.so.1.1"

如果输出类似/usr/local/include/openssl/ssl.h和/usr/local/lib64/libssl.so.1.1,说明OpenSSL 1.1.1k的安装根路径是/usr/local。

步骤2:重新编译Python3.9并指定OpenSSL路径

进入Python3.9.6的源码目录,清理旧编译残留后,重新配置编译参数:

cd /usr/src/Python-3.9.6
# 清理之前的编译文件
make clean
# 配置编译参数,替换成你找到的OpenSSL实际路径
./configure --prefix=/usr/local/python3.9 --with-openssl=/usr/local
# 编译并执行altinstall(避免覆盖系统默认Python)
make && make altinstall

步骤3:验证SSL模块状态

重新安装完成后,执行以下命令检查Python3.9的SSL模块是否正常加载:

python3.9 -c "import ssl; print(ssl.OPENSSL_VERSION)"

如果输出OpenSSL 1.1.1k ...,说明SSL模块已正常工作,此时再执行python3.9 -m pip install meraki即可完成模块安装。

可选:解决pkg-config找不到openssl11.pc的问题

如果需要通过pkg-config配置编译参数,先找到openssl11.pc文件的位置:

find / -name "openssl11.pc"

假设找到路径为/usr/local/lib64/pkgconfig/openssl11.pc,设置环境变量后再编译:

export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH
export CFLAGS="$CFLAGS $(pkg-config --cflags openssl11)"
export LDFLAGS="$LDFLAGS $(pkg-config --libs openssl11)"
# 回到Python源码目录重新执行configure、make、make altinstall

内容的提问来源于stack exchange,提问作者python_finn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 19:07:14