如何在Python 2.5.1的备用安装中启用OpenSSL支持?

时间:2012-06-04 14:08:02

标签: python openssl importerror

一些背景信息:
我正在尝试在python 2.5.1(服务器编写和测试的版本)中运行服务器程序。该程序需要OpenSSL库来实现它的一些功能。我从源代码安装了python 2.5.1,因为我正在运行的Amazon Linux实例的yum存储库没有我需要的python版本。

当我尝试使用python 2.5.1运行服务器时,我收到以下导入错误:

Traceback (most recent call last):  
File "<stdin>", line 1, in <module>  
ImportError: No module named OpenSSL

我知道安装了OpenSSL库,因为我可以将它们导入Python 2.6(由yum安装的python版本)。只是我的python 2.5.1安装无法看到它们。

我也通过yum安装了pyOpenSSL而没有运气。

1 个答案:

答案 0 :(得分:3)

已安装的python库特定于特定版本。所以从yum安装的pyOpenSSL将用于系统python。你需要为alt-installed 2.5 python安装一个单独的pyOpenSSL实例。

如果您使用python2.5安装distutils,那么您会发现您可以使用easy_install-2.5easy_install-2.5 pyopenssl(或类似)。但请注意,也可能安装新版本的easy_install,覆盖系统python的现有版本(如果有的话)。使用distutils与现有的包使用easy_install-2.7(如果它是python 2.7)。

这有意义吗?基本上,每个python都是不同的,需要自己的一组库。相比之下,easy_install是全局安装的,但每个python都有一个特定于版本的easy_install副本......!

如果你想避免使用easy_install,你可以使用virtualenv。为2.5创建一个新环境,启用它,你可以在那里安装pyopenssl(使用环境中的easy_install)。如果你从来没有错过virtualenv,这可能听起来更复杂,但是如果你给它一点时间来理解它可能会在长期内更好地发挥作用。