Google 应用程序引擎、Python 和 IPython
我想在GAE下使用IPython在本地调试脚本:
import ipdb; ipdb.set_trace()
但是GAE限制从sys.path加载一些模块。我可以以某种方式绕过这个吗?
I want to use IPython under GAE to debug scripts locally:
import ipdb; ipdb.set_trace()
but GAE restricts loading some modules from sys.path. Can I bypass this somehow?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当然,您可以破解 GAE SDK 的限制(您的计算机上确实有其源代码,而且它是开源代码!-),但是,如果您这样做,它不会捕获其中的情况您的代码错误地尝试导入不允许在 Google 服务器上使用的模块。所以我建议,如果您确实执行了这样的黑客攻击,请使其以某些环境变量为条件(
if os.getenv('MYHACK')=='Y':
... ),因此默认情况下它是禁用的(并且 GAE SDK 表现正常),并且您只能在 shell 中使用例如bash
(或sh
;-) 显式启用它迅速的。You can hack the GAE SDK's restrictions of course (you do have its sources on your computer, and it's open-source code!-), but, if you do, it won't catch the cases in which your code erroneously tries to import modules it won't be allowed to use on Google's servers. So I suggest, at the very least, if you do perform such a hack, make it conditional on some environment variable (
if os.getenv('MYHACK')=='Y':
...), so that it's disabled by default (and the GAE SDK behaves normally) and you only enable it explicitly at your shell with e.g.at a
bash
(orsh
;-) prompt.