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'
È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top