2014-05-10 9 views
5

Ich habe gerade Stripe-API-Bibliothek auf die neueste Version aktualisiert und es funktioniert nicht mehr auf Google AppEngine, weil GAE Importe einiger Pakete wie Sockets und SSL blockiert.Streifen Zahlungen auf Google AppEngine mit Python API-Bibliothek

ERROR 2014-05-10 09:55:16,576 base.py:215] Internal Server Error: /api/billing/subscribe_to_paid_plan/stripe 
    Traceback (most recent call last): 
... 
    File "/src/classes/billing/api_views.py", line 3, in <module> 
     import stripe 
     File "/src/stripe/__init__.py", line 16, in <module> 
     from stripe.resource import ( # noqa 
     File "/src/stripe/resource.py", line 5, in <module> 
     from stripe import api_requestor, error, util 
     File "/src/stripe/api_requestor.py", line 5, in <module> 
     import ssl 
     File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 60, in <module> 
     import _ssl    # if we can't import it, let the error propagate 
     File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py", line 852, in load_module 
     raise ImportError('No module named %s' % fullname) 
    ImportError: No module named _ssl 

Gibt es irgendwelche Chancen, damit es auf Google AppEngine funktioniert?

+0

Ich habe ein Problem bei GitHub erstellt: https://github.com/stripe/stripe-python/issues/74 –

+0

mögliche Duplikate von ["ImportError: Kein Modul namens \ _ssl" mit dev \ _appserver.py aus Google App Engine] (http://stackoverflow.com/questions/16192916/importerror-no-module-namedes-ssl-with-dev-appserver-py-from-google-app-engine) – Greg

Antwort

7

Sie müssen SSL aktivieren, indem Sie den folgenden Code zu Ihrem app.yaml hinzu:

libraries: 
- name: ssl 
    version: latest 

EDIT: die folgenden Fehler wurde nicht festgesetzt worden, aber ich trug einen Patch für den Streifen Python-Bindungen um es zu bekommen .

Es gibt derzeit einen Fehler in der App Engine dev Server (Es ist auf meiner Liste zu tun, um zu versuchen und zu beheben), die indem Sie die folgenden umgangen werden kann:

add „_ssl“ und „_socket“ Schlüssel zum Wörterbuch _WHITE_LIST_C_MODULES in /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py

Ersetzen Sie die socket.py Datei von google in /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/dis27 aus der socket.py Datei von Ihrem Python-Framework.