我正在尝试使用
将SSL 2.5.2作为单独的二进制文件构建./配置
使
使altinstall(使用和不使用-lssl选项)
我首先检查了openSSL的常规包和开发包:
$ dpkg --get-selections | grep ssl
libio插槽-SSL-perl的
的libnet-SSLeay的-perl的
中的libssl-dev的
的libssl-doc的
libssl1.0.0
libssl1.0.0:I386
OpenSSL的
蟒蛇,OpenSSL的
SSL证书
我下载了Python 2.5.2并编辑了Modules / Setup.dist中的以下几行:
_socket socketmodule.c
SSL =的/ usr /本地/ SSL
_ssl _ssl.c \
-DUSE_SSL -I $(SSL)/ include -I $(SSL)/ include / openssl \
-L $(SSL)/ lib -lssl -lcrypto
关于这个问题有很多博客文章,这里有两个我见过的帖子(我不能发布超过2个) - 描述我尝试过的过程:
http://agiletesting.blogspot.com/2008/05/compiling-python-25-with-ssl-support.html
http://paltman.com/2007/11/15/getting-ssl-support-in-python-251
但是在完成配置后,如上所述make等,当我做python2.5测试时,会发生这种情况:
>>> import ssl
追溯(最近的呼叫最后):
文件“<stdin
&gt;”,第1行,在<module
&gt;中 ImportError:没有名为ssl
的模块
我基本上没有尝试的东西 - 会感谢任何帮助或指示什么检查或要做的事情,以使其工作。我知道Python 2.7已经有SSL,但出于其他兼容性原因,我必须使用2.5。我正在使用Ubuntu 11.10(Oneiric)。谢谢!
答案 0 :(得分:0)
httplib.HTTPSConnection
(和其他人)和ssl
模块中的SSL支持是两回事。
您可能已为启用SSL的库启用了SSL。但是,Python 2.5没有ssl
模块。相反,您可能希望使用提供类似功能的OpenSSL
模块。
如果您需要依赖于ssl
或OpenSSL
模块的代码,则可能需要稍微拆分代码。例如:
try:
import ssl
USE_OPENSSL = False
except ImportError:
import OpenSSL
USE_OPENSSL = True
然后,您可能必须根据加载的模块区分您的代码。
(如果您只需要Python 2.5,请直接使用import OpenSSL
。)