2011-09-05 68 views
2

當我嘗試使用App Engine上的Boto程式庫,我得到了一個錯誤:SSLError在谷歌應用程序引擎(本地開發服務器)

Traceback (most recent call last): 
    File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\_webapp25.py", line 701, in __call__ 
    handler.get(*groups) 
    File "E:\Probes\pruebas\pruebasAWS\main.py", line 26, in get 
    conn = S3Connection('<KEY1>','<KEY2>') 
    File "E:\Probes\pruebas\pruebasAWS\boto\s3\connection.py", line 148, in __init__ 
    path=path, provider=provider) 
    File "E:\Probes\pruebas\pruebasAWS\boto\connection.py", line 231, in __init__ 
    self.http_unretryable_exceptions.append(ssl.SSLError) 
AttributeError: 'module' object has no attribute 'SSLError' 

從來就安裝了OpenSSL和Python 2.7。用於python的OpenSSL和SSL庫正在運行,當我將應用程序部署到Google Infrastructure時,它工作正常。當我嘗試在本地機器上執行應用程序時出現問題。

的代碼是:

from google.appengine.ext import webapp 
from google.appengine.ext.webapp import util 
from boto.s3.connection import S3Connection 
import hashlib 


class MainHandler(webapp.RequestHandler): 
    def get(self): 
     conn = S3Connection('<KEY1>','<KEY2>') 
     bucket = conn.create_bucket(hashlib.md5('noTRePeaTedBuCket').hexdigest()+"probe") 
     if bucket: 
      self.response.out.write('Bucket creado') 
     else: 
      self.response.out.write('Bucket NO creado') 
+0

求解:在這一行添加註釋,問題熄滅,但它很奇怪... –

回答

2

這裏的實際問題是,AppEngine上渣土周圍的事物,使之無法導入某些標準,內置的Python模塊,如SSL。

有關於這個的博託IRC和用戶的一個一番交談,想出了這個補丁:

https://github.com/samba/boto/commit/6f1ab73d92ff6fb2589362bbdadf6bbe66811e7e

這樣的一些形式可能會被很快融入博託高手。

+0

非常感謝,garnaat!應用它的工作正常的修補程序:-) –

相關問題