CentOS 5.2上Python 2.6缺少HTTPSConnection模块

8 投票
3 回答
9804 浏览
提问于 2025-04-15 11:40

我在CentOS 5.2上玩一个Python应用程序。这个程序使用Boto模块来和亚马逊网络服务(AWS)进行通信,而这需要通过HTTPS连接。

当我尝试运行我的应用程序时,出现了一个关于缺少HTTPSConnection的错误: "AttributeError: 'module' object has no attribute 'HTTPSConnection'"。

在谷歌上搜索并没有找到相关的解决办法,我试过大部分的解决方案,但都没有解决这个问题。

有没有人遇到过类似的情况?

以下是错误追踪信息:

Traceback (most recent call last):
File "./chatter.py", line 114, in <module>
    sys.exit(main())
File "./chatter.py", line 92, in main
    chatter.status( )
File "/mnt/application/chatter/__init__.py", line 161, in status
    cQueue.connect()
File "/mnt/application/chatter/tools.py", line 42, in connect
    self.connection = SQSConnection(cConfig.get("AWS", "KeyId"), cConfig.get("AWS", "AccessKey"));
File "/usr/local/lib/python2.6/site-packages/boto-1.7a-py2.6.egg/boto/sqs/connection.py", line 54, in __init__
    self.region.endpoint, debug, https_connection_factory)
File "/usr/local/lib/python2.6/site-packages/boto-1.7a-py2.6.egg/boto/connection.py", line 418, in __init__
    debug,  https_connection_factory)
File "/usr/local/lib/python2.6/site-packages/boto-1.7a-py2.6.egg/boto/connection.py", line 189, in __init__
    self.refresh_http_connection(self.server, self.is_secure)
File "/usr/local/lib/python2.6/site-packages/boto-1.7a-py2.6.egg/boto/connection.py", line 247, in refresh_http_connection
    connection = httplib.HTTPSConnection(host)
AttributeError: 'module' object has no attribute 'HTTPSConnection'

3 个回答

0

你怎么会有Python 2.6呢?在CentOS系统中,标准版是2.4,这可能就是你遇到问题的原因。也许重新安装一下boto库会有帮助,因为库的路径可能不太对。

7

在安装python2.6之前,请先安装openssl和openssl-devel这两个软件包。

你可以通过yum这个工具简单地安装这两个包,然后再重新安装python2.6(不需要先卸载已经安装的python2.6)。

]# yum install openssl openssl-devel

Python-2.6.x]# ./configure
Python-2.6.x]# make && make altinstall
7

根据Python的官方文档(http://docs.python.org/library/httplib.html)的说明:

注意:只有当socket模块支持SSL时,HTTPS功能才可用。

你需要了解一下你正在使用的CentOS系统上,Python是如何安装和配置的。

撰写回答