Modulo HTTPSConnection mancante in Python 2.6 su CentOS 5.2
Domanda
Sto giocando con un'applicazione Python su CentOS 5.2.Utilizza il modulo Boto per comunicare con Amazon Web Services, che richiede la comunicazione tramite una connessione HTTPS.
Quando provo a eseguire la mia applicazione ricevo un errore relativo alla mancanza di HTTPSConnection:"Errore attributo:L'oggetto 'modulo' non ha l'attributo 'HTTPSConnection'"
Google non restituisce nulla di rilevante, ho provato la maggior parte delle soluzioni ma nessuna risolve il problema.
Qualcuno ha riscontrato qualcosa di simile?
Ecco il traceback:
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'
Soluzione
citando dalla documentazione di Python (http://docs.python.org/library/httplib.html):
Nota Il supporto HTTPS è disponibile solo se il modulo socket è stato compilato con il supporto SSL.
Dovresti scoprire come è stato creato Python sul CentOS che stai utilizzando.
Altri suggerimenti
Si prega di installare openssl e openssl-devel prima di installare python2.6.
Si può semplicemente installare questi pacchetti usando yum, e fare un re-installazione di python2.6 (non è necessario rimuovere python2.6 già installato)
]# yum install openssl openssl-devel
Python-2.6.x]# ./configure
Python-2.6.x]# make && make altinstall
Come mai avete Python 2.6? In CentOS 2.4 è standard, questo potrebbe essere la causa del problema. Potrebbe valere la pena di installare nuovamente boto come i percorsi di libreria potrebbe non essere corretto