jsr*_*ren 6 google-app-engine python-import google-app-engine-python
所以我的目录结构看起来像这样:
\Project-Dir\
|- lib\
| |- flask\
| |- ...
|- module1_dir\
| |- __init__.py
| |- app.yaml
| |- app.py
| |- ...
|- module2_dir\
| |- __init__.py
| |- app.yaml
| |- app.py
| |- ...
|- ...
Run Code Online (Sandbox Code Playgroud)
内 app.py
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../lib')))
Run Code Online (Sandbox Code Playgroud)
我在同一个根目录下有两个模块.它们一起部署到App Engine.他们也共享相同的库.这些库都非常强大,所以我试图将它们放在共享目录(lib)中.
我正在dev_appserver.py从\Project-Dir\和传球两个.yamls.我sys.path的设置很好,包括lib\目录.然而沙盒似乎固执地坚持认为图书馆lib\ 不存在.
我确定我只是遗漏了一些像配置改变一样的东西.或者App Engine真的只是不支持这样的设置?
编辑:当我在外面运行它时,导入工作正常dev_appserver.py.
在遇到同样的问题后,我与Google支持工程师进行了交谈.不幸的是,GAE不支持这种设置.
使用模块API时,模块1和模块2在单独的Python虚拟环境中作为单独的自包含实例运行.他们无法"看到"其父目录的内容.修改sys.path并没有什么区别.
有两种解决方案:
(a)将'lib'文件夹放在'module1_dir'和'module2_dir'中复制.
(b)将模块文件直接放在根目录中.
| 归档时间: |
|
| 查看次数: |
550 次 |
| 最近记录: |