Ich wollte die Twitter-OAuth-Funktion in Google App Engine (GAE) verwenden und habe versucht, sie mit request_oauthlib auszuführen, aber es hat nicht funktioniert, also dieses Memo
ssl Ich erhalte den folgenden Fehler
error.log
Can't connect to HTTPS URL because the SSL module is not available
Integrieren Sie das SSL-Modul wie folgt
app.yaml
libraries:
- name: ssl
version: latest
socket Wenn ich das SSL-Modul importiere, wird der folgende Fehler angezeigt. Ich habe es noch nicht ausprobiert, aber dies scheint in einer Produktionsumgebung nicht zu passieren.
error.log
must be _socket.socket, not socket
Fügen Sie _ssl & _socket zu _WHITE_LIST_C_MODULES in sandbox.py wie folgt hinzu
sandbox.py.diff
$ diff /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py_orig
912,913d911
< '_ssl',
< '_socket',
Überschreiben Sie den Python-Standard socket.py mit GAE socket.py
$ cp /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/dist27/socket.py /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/dist27/socket.py_orig
$ cp /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/dist27/socket.py
Fügen Sie das Anforderungsmodul erneut ein
$ pip uninstall requests
$ pip install requests==2.3
Jetzt bewegt es sich.
http://tsuboi-sj.hatenablog.com/entry/2015/05/29/164743 https://stackoverflow.com/questions/16192916/importerror-no-module-named-ssl-with-dev-appserver-py-from-google-app-engine/16937668#16937668