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

Python 3.8指定OpenSSL编译后无法导入_ssl模块求助

安装Python 3.8时_ssl模块缺失问题排查与解决建议

问题场景

在非标准路径(/home/username/Python-3.8.0和/home/username/openssl)安装Python 3.8和OpenSSL 1.1.1,已在.bashrc中配置OpenSSL库路径,执行./configure --prefix=$HOME/Python-3.8.0 --with-openssl=$HOME/openssl完成配置,再执行make/make install后,导入ssl模块时出现以下错误:

>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/username/lib/python3.8/ssl.py", line 98, in <module>
    import _ssl             # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'

相关配置文件内容

.bashrc配置

export PATH=$HOME/openssl/bin:$PATH
export PATH=$HOME/opt/perl/bin:$PATH
export LD_LIBRARY_PATH=$HOME/openssl/lib
export LC_ALL="en_US.UTF-8"
export LDFLAGS="-L $HOME/openssl/lib -Wl,-rpath,$HOME/openssl/lib"
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions
alias python3="$HOME/bin/python3.8"
eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"

Python-3.8.0/Modules/Setup配置

...
#SSL=$HOME/openssl
#_ssl _ssl.c \
#       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
#       -L$(SSL)/lib -lssl -lcrypto
...

解决建议

  • 确认OpenSSL安装有效性:执行$HOME/openssl/bin/openssl version,检查输出是否为OpenSSL 1.1.1系列;同时确认$HOME/openssl/lib目录下存在libssl.so、libcrypto.so等库文件,确保OpenSSL编译安装无报错。
  • 刷新环境变量并清理编译残留:执行source ~/.bashrc使配置生效,进入Python源码目录后执行make clean清除之前的编译文件。
  • 重新配置Python编译参数:在源码目录执行以下configure命令,新增--with-openssl-rpath参数强制指定运行时库路径:
    ./configure --prefix=$HOME/Python-3.8.0 --with-openssl=$HOME/openssl --with-openssl-rpath=$HOME/openssl/lib
    
  • 启用Modules/Setup中的SSL配置:编辑Python-3.8.0/Modules/Setup,去掉SSL相关行的注释,修改为:
    SSL=$HOME/openssl
    _ssl _ssl.c \
            -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
            -L$(SSL)/lib -lssl -lcrypto
    
    确保路径与你的OpenSSL实际安装路径一致。
  • 重新编译安装:执行make -j$(nproc)(利用多线程加速编译),完成后执行make install。
  • 验证结果:启动Python 3.8交互环境,执行import ssl,若未报错,再执行print(ssl.OPENSSL_VERSION)确认使用的是指定版本的OpenSSL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 12:35:29