Pergunta

Eu estou brincando com uma aplicação Python no CentOS 5.2. Ele usa o módulo Boto de se comunicar com Amazon Web Services, que exige uma comunicação através de uma conexão HTTPS.

Quando tento executar o meu aplicativo eu recebo um erro sobre HTTPSConnection estar faltando: "AttributeError: 'module' objeto não tem nenhum atributo 'HTTPSConnection'"

O Google realmente não retornar nada relevante, eu tentei a maioria das soluções, mas nenhum deles resolver o problema.

Alguém se deparar com algo parecido?

Aqui está o rastreamento:

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'
Foi útil?

Solução

citando a partir da documentação python ( http://docs.python.org/library/httplib. html ):

Nota HTTPS apoio só está disponível se o módulo socket foi compilado com suporte a SSL.

Você deve descobrir como python no CentOS que você está usando foi construído.

Outras dicas

Por favor, instale o openssl e openssl-devel antes de instalar python2.6.

Você pode simplesmente instalar os pacotes usando yum, e fazer uma re-instalação do python2.6 (sem necessidade de remover python2.6 já instalado)

]# yum install openssl openssl-devel

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

Como é que você tem o Python 2.6? Em CentOS 2.4 é padrão, isso pode ser a causa do seu problema. Pode valer a pena boto instalar novamente como os caminhos de biblioteca podem não estar corretas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top