在过去的几天里,只要我运行dev_appserver.py
:
from google.appengine.tools.devappserver2.python import sandbox
ImportError: cannot import name sandbox
由于我在设置新环境时主要遇到这个问题,我认为在安装过程中我一定是个错误。在过去3个小时内经过足够的头部刮擦之后,我认为它无法进入新的设置,所以我将dev_appserver.py
加载到一个已知的工作环境中。
再一次:
from google.appengine.tools.devappserver2.python import sandbox
ImportError: cannot import name sandbox
我的应用代码都没有被更改,因此 是其他内容。
答案 0 :(得分:7)
原来SDK已经改变了。
我有一个名为appengine_config.py
的文件(专门用于开发服务器)将几个C模块列入白名单。
from google.appengine.tools.devappserver2.python import sandbox
sandbox._WHITE_LIST_C_MODULES += ['_ssl', '_socket']
当我禁用这些行时,这个问题被另一个问题所取代(这些问题就是这些问题的原因):
File "[...]/devappserver2/python/runtime/sandbox.py", line 1091, in load_module
raise ImportError('No module named %s' % fullname)
ImportError: No module named _socket
注意文件路径中的runtime
部分?显然沙箱模块的位置已经改变。所以我在导入路径中添加了.runtime
:
from google.appengine.tools.devappserver2.python.runtime import sandbox
然后,重新启用这些线后,一切都恢复了! ✅任务完成。