小编pma*_*old的帖子

ImportError:不允许从用户应用程序代码导入devappserver沙箱模块

我正在开发一个用Python(标准环境)编写的Google App Engine应用程序,我需要在开发服务器环境中将一些其他模块列入白名单.

我一直在appengine_config文件中使用这段代码做了很长时间,并且效果非常好:

from google.appengine.tools.devappserver2.python import sandbox
sandbox._WHITE_LIST_C_MODULES += ['_ssl', '_socket']
Run Code Online (Sandbox Code Playgroud)

正如在这个问题中所回答的,前一段时间Google Cloud SDK已更新,之前的导入导致了ImportError.导入只需要更改为:

from google.appengine.tools.devappserver2.python.runtime import sandbox
Run Code Online (Sandbox Code Playgroud)

通过此更改,一切都运行良好,直到我将Cloud SDK更新为版本:186.0.0.

现在看来沙盒模块中添加了"SandboxAccessPreventionImportHook"类,因此无法从App Engine应用程序导入.这是应用程序引发的错误:

ImportError: Importing the devappserver sandbox module (google.appengine.tools.devappserver2.python.runtime.sandbox) from user application code is not permitted.
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何绕过这个?或者是否有另一种方法将开发服务器环境中的模块列入白名单?

谢谢!!!

python google-app-engine

6
推荐指数
1
解决办法
636
查看次数

标签 统计

google-app-engine ×1

python ×1