Python 2.7 导入错误:没有名为 _ssl 的模块
我正在尝试在Redhat上构建Python 2.7,并且希望能支持SSL。我在Modules/Setup.dist文件中取消了注释:
SSL=/urs/local/ssl
_ssl _ssl.c
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl
-L$(SSL)/lib -lssl -lcrypto
我还确保系统上安装了OpenSSL和openssl-devel。
在安装openssl-devel
之前,运行make时会提示无法构建模块_ssl
,但这个错误现在消失了。make成功构建了_ssl.o
,日志中没有报告错误,但没有构建出lib-dynload/_ssl.so
这个文件——显然这是我需要的文件,以便让SSL正常工作。我在运行./configure
时加上了--enable-shared
这个选项,但到目前为止,无论我如何调整构建环境,都无法加载这个库文件。
1 个回答
0
成功地构建了 _ssl.o 文件,日志中没有报告错误,但没有构建 lib-dynload/_ssl.so 文件——这显然是我需要的文件,以便让 ssl 正常工作。
我对构建 Python 的细节不是很了解,但在 Red Hat 系统上,你可能需要用以下命令来构建 OpenSSL:
$ export CFLAGS="-fPIC"
$ ./config shared -no-ssl2 -no-ssl3 --openssldir=/usr/local/ssl ...
...
$ make depend
...
$ make all
...
$ sudo -E make install
在你执行完安装后,确保共享库文件在 /usr/local/ssl/lib
目录下。我在 Fedora 系统上遇到过“缺少共享对象”的问题,以上方法解决了我的问题。