2011-08-12 13 views
6

Używam httplib2 wykonywanie połączeń do Amazon Web Services (AWS):Jak nawiązywać połączenia z usługą AWS przy użyciu Pythona 3 i httplib2 w systemie Windows 7?

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

Jednak to nie szuka urzędów (chyba):

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 

Moje pytania:

  1. Czy jest coś, co muszę zrobić, aby skonfigurować mój system operacyjny i środowisko, aby to działało?
  2. Widziałem wiele postów dotyczących upewnienia się, że biblioteka gniazd jest zbudowana dla protokołu SSL w Pythonie 2; czy dotyczy to Pythona 3?

Dzięki!

+0

SOLVED: Skrypt konfiguracyjny httplib2 dla Pythona 3 nie kopiuje "cacerts.txt" do folderu lib Pythona. Skopiowałem folder ręcznie i wszystko działało. – Seth

+3

Jeśli rozwiążesz swój problem, nie powinieneś zmieniać tytułu, ale zamieść swoje rozwiązanie jako odpowiedź, a następnie oznaczyć je jako zaakceptowane. Pomoże to osobom, które szukają tego samego pytania, i może Ci pomóc zdobyć kilka upomnień. –

+0

Dzięki @Dour, gotowe. – Seth

Odpowiedz

5

W folderze httplib2/Python3 brakuje pliku cacerts.txt, więc nie jest on kopiowany do folderu Python/lib. Skopiowałem tam plik ręcznie i wszystko działało. Jest to znany problem z protokołem httplib2.

+0

Znalazłem, że nie miałem pliku 'cacerts.txt' w systemie Ubuntu. Wyciągnąłem kopię z [tutaj] (http://httplib2.googlecode.com/hg-history/6525cadfde53279479533c1235e2661f5c147afc/python2/httplib2/cacerts.txt) i zapisałem ją w katalogu 'httplib2'. Uruchom 'python -c" importuj httplib2; wydrukuj plik httplib2 .__ __ "", aby dowiedzieć się, gdzie znajduje się twój katalog 'httplib2'. – David

+0

Problem z brakującym plikiem cacerts.txt został naprawiony tutaj: http://bit.ly/ziEaNj – David

+0

Naprawiono to dla mnie. Dzięki! –

0

Wcześniej poznałem grę, ale mój problem był związany ze złym poleceniem PYTHONPATH w moim profilu basha i dlatego katalog został umieszczony w niewłaściwej lokalizacji.

Rozwiązaniem było usunięcie polecenia PYTHONPATH w moim profilu bash i voila.

Powiązane problemy