2011-08-12 5 views
6

estoy usando httplib2 para realizar llamadas a Amazon Web Services (AWS):¿Cómo hago las llamadas a AWS con Python 3 y httplib2 en Windows 7?

http = httplib2.Http(cache='.cache') 
response, content = http.request('https://sdb.amazonaws.com/...') 

Sin embargo falla en busca de CA (creo):

File "C:\Python32\lib\site-packages\httplib2\__init__.py", line 1059, in request self.disable_ssl_certificate_validation) 
File "C:\Python32\lib\site-packages\httplib2\__init__.py", line 772, in __init__ context.load_verify_locations(ca_certs) 
IOError: [Errno 2] No such file or directory 

Mis preguntas:

  1. ¿Hay algo que deba hacer para configurar mi SO y mi entorno para que esto funcione?
  2. He visto muchas publicaciones sobre cómo asegurarse de que la biblioteca de sockets esté construida para SSL en Python 2; ¿eso se aplica a Python 3?

¡Gracias!

+0

RESUELTO: El script de configuración httplib2 para Python 3 no copia 'cacerts.txt' en la carpeta lib de Python. Copié la carpeta manualmente y todo funcionó. – Seth

+3

Si resuelve su problema, no debe cambiar el título, pero publique su solución como respuesta y luego márquela como aceptada. Esto ayudará a las personas que buscan la misma pregunta y puede obtener algunos votos favorables. –

+0

Gracias @Dour, listo. – Seth

Respuesta

5

El httplib2/carpeta python3 falta cacerts.txt, por lo que no se copia en la carpeta de Python/lib. Copié el archivo allí de forma manual y todo funcionó. Este es un problema conocido con httplib2.

+0

Encontré que no tenía ningún archivo 'cacerts.txt' en mi sistema Ubuntu. Saqué una copia de [aquí] (http://httplib2.googlecode.com/hg-history/6525cadfde53279479533c1235e2661f5c147afc/python2/httplib2/cacerts.txt) y la guardé en el directorio 'httplib2'. Ejecute 'python -c 'import httplib2; imprima httplib2 .__ file __" 'para averiguar dónde está el directorio' httplib2'. – David

+0

El problema de cacerts.txt que falta se ha solucionado aquí: http://bit.ly/ziEaNj – David

+0

Esto lo arregló para mí. ¡Gracias! –

0

sé tarde para el juego, pero mi problema estaba relacionado con una orden mal PYTHONPATH en mi perfil fiesta y por lo tanto el directorio se están poniendo en la ubicación incorrecta.

La solución consistía en eliminar el comando PYTHONPATH en mi perfil de bash y voila.

Cuestiones relacionadas