2013-02-28 60 views
3

我試圖用SSL在Redhat中構建python 2.7。我註釋掉了線模塊/ Setup.dist:Python 2.7 ImportError:沒有名爲_ssl的模塊

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之前,它會抱怨說它無法構建模塊_ssl。現在這個錯誤消失了。使成功構建_ssl.o日誌中沒有報告錯誤,但不會生成lib-dynload/_ssl.so - 這顯然是我需要讓ssl工作的文件。我使用--enable-shared標誌運行./configure標誌,但到目前爲止,無論如何改變構建環境,我都無法加載該庫文件。

+0

你有'python-openssl'或類似的東西安裝嗎?我在我的Ubuntu上有它,不知道你是否需要它用於Redhat。 – lolopop 2013-02-28 16:20:00

+0

我也有安裝python-openssl。 – 2013-02-28 16:45:02

+0

你在安裝openssl-devel後運行了'make clean'和'.configure'嗎?在我的系統(Ubuntu)上,我不必編輯'_ssl.so'的'Modules.Setup.dist'來編譯和安裝,所以我想知道你爲什麼這樣做。 – Anthon 2013-03-12 10:19:08

回答

0

Make successfully builds _ssl.o with no errors reported in the log, but does not build lib-dynload/_ssl.so - this is apparently the file that I need to get ssl to work.

我不知道如何構建的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上的「缺失的共享對象」,上面解決了這個問題。

相關問題