module HTTPSConnection manquant dans Python 2.6 sur CentOS 5.2
Question
Je joue autour d'une application Python sur CentOS 5.2. Il utilise le module Boto pour communiquer avec Amazon Web Services, qui exige la communication via une connexion HTTPS.
Lorsque je tente ma demande en cours d'exécution, je reçois une erreur concernant HTTPSConnection être manquant: "AttributeError: objet 'module' n'a pas d'attribut 'HTTPSConnection'"
Google ne renvoie pas vraiment quoi que ce soit pertinent, je l'ai essayé la plupart des solutions, mais aucune d'entre elles résoudre le problème.
Quelqu'un at-il rencontré quelque chose comme ça?
Voici le retraçage:
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'
La solution
citant de la documentation python ( http://docs.python.org/library/httplib. html ):
Remarque est en charge HTTPS uniquement disponible si le module de socket a été compilé avec le support SSL.
Vous devez savoir comment python sur la CentOS que vous utilisez a été construit.
Autres conseils
S'il vous plaît installer OpenSSL et OpenSSL-devel avant d'installer python2.6.
Vous pouvez simplement installer ces paquets en utilisant yum, et faire une nouvelle installation de python2.6 (pas besoin d'enlever python2.6 déjà installé)
]# yum install openssl openssl-devel
Python-2.6.x]# ./configure
Python-2.6.x]# make && make altinstall
Comment venir avez python 2.6? Dans CentOS 2.4 est standard, cela pourrait être la cause de votre problème. Peut-être la peine d'installer Boto à nouveau les chemins de bibliothèque pourrait ne pas être correcte