2009-05-18 11 views
8

Je joue avec une application Python sur CentOS 5.2. Il utilise le module Boto pour communiquer avec Amazon Web Services, ce qui nécessite une communication via une connexion HTTPS.Module HTTPSConnection manquant dans Python 2.6 sur CentOS 5.2

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 retourne pas vraiment quoi que ce soit pertinent, j'ai essayé la plupart des solutions mais aucun d'entre eux ne résout le problème.

Est-ce que quelqu'un a 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' 

Répondre

7

citant de la documentation python (http://docs.python.org/library/httplib.html):

Remarque support HTTPS est disponible uniquement si le module socket a été compilé avec le support SSL.

Vous devriez découvrir comment python sur le CentOS que vous utilisez a été construit.

+0

ouais ... Je vais creuser et trouver les options de configuration – d2kagw

+0

qui était tout à fait le problème, j'ai trouvé ce lien qui s'exécute comment activer le module: http://agiletesting.blogspot.com/2008/05/compiling-python-25-with-ssl-support. html – d2kagw

0

Pourquoi avez-vous python 2.6? Dans CentOS 2.4 est standard, cela peut être la cause de votre problème. Cela peut valoir la peine d'installer à nouveau boto car les chemins de la bibliothèque peuvent ne pas être corrects

+0

J'ai besoin de 2.6 en raison du support multi-traitement – d2kagw

7

Veuillez 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 déjà installé python2.6)

]# yum install openssl openssl-devel 

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