我试图让我的应用引擎服务器发送APNS通知,为此,我使用了从这个项目得到的模板代码(据说可以工作,所以可以) : https://github.com/GarettRogers/appengine-apns-gcm
目前,我想在本地开发上完成这项工作。
当实际尝试打开套接字时,我得到下面的错误堆栈。
我的猜测是,应用引擎可能需要sudo权限来执行此操作(我使用的是mac)。如果是这样 - 有谁知道如何使用sudo权限运行app引擎?
如果没有 - 有谁能告诉我问题是什么以及如何解决?
感谢。
File "/Users/xxx/Downloads/XXX/ssl.py", line 392, in wrap_socket
ciphers=ciphers)
File "/Users/xxx/Downloads/XXX/ssl.py", line 114, in __init__
if sock.getsockopt(SOL_SOCKET, SO_TYPE) != SOCK_STREAM:
File "/Users/xxx/Desktop/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/dist27/socket.py", line 222, in meth
return getattr(self._sock,name)(*args)
INFO 2014-04-15 19:42:02,488 module.py:627] default: "POST /content/create_action HTTP/1.1" 500 228
File "/Users/xxx/Desktop/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/remote_socket/_remote_socket.py", line 1112, in getsockopt
raise _SystemExceptionFromAppError(e)
error: [Errno 13] Permission denied
答案 0 :(得分:1)
应用此项:"ImportError: No module named _ssl" with dev_appserver.py from Google App Engine
问题/答案解释了这一切,我不会详细说明,这是一个长期的SDK缺陷,这个手动方法补丁它,你需要在每次更新SDK时应用它
答案 1 :(得分:1)
我通过
解决了这个问题pip install requests-toolbelt -t lib
然后添加
from requests_toolbelt.adapters import appengine
appengine.monkeypatch()
来源:Can Python Requests library be used on Google App Engine?