Google app engine 在Google App Engine(PyDev)中管理命名空间开发库
在开发GAE应用程序的同时,还开发了内部库。这些库使用名称空间包 为了演示,我有两个具有以下文件结构的库 第一个库:Google app engine 在Google App Engine(PyDev)中管理命名空间开发库,google-app-engine,python-2.7,pydev,libraries,symlink,Google App Engine,Python 2.7,Pydev,Libraries,Symlink,在开发GAE应用程序的同时,还开发了内部库。这些库使用名称空间包 为了演示,我有两个具有以下文件结构的库 第一个库: first |--src # Sources of first | `--spam # Namespace 'spam' | |--eggs # Namespace 'spam.eggs' | | `--* | `--sausage # Namespace 'spam.sausage' | `--* `
first
|--src # Sources of first
| `--spam # Namespace 'spam'
| |--eggs # Namespace 'spam.eggs'
| | `--*
| `--sausage # Namespace 'spam.sausage'
| `--*
`--test # Unit tests of first
`--*
second
|--src # Sources of second
| `--spam # Namespace 'spam'
| |--bacon # Namespace 'spam.bacon'
| | `--*
| `--tomatoes # Namespace 'spam.tomatoes'
| `--*
`--test # Unit tests of second
`--*
app
|--src # Sources of app
| |--lib # Plain directory
| | |--first # Symlink to first/src
| | `--second # Symlink to second/src
| |--fries # App specific package
| | `--*
| |--app.yaml
| `--appengine_config.py
`--test # Unit tests of app
`--*
第二库:
first
|--src # Sources of first
| `--spam # Namespace 'spam'
| |--eggs # Namespace 'spam.eggs'
| | `--*
| `--sausage # Namespace 'spam.sausage'
| `--*
`--test # Unit tests of first
`--*
second
|--src # Sources of second
| `--spam # Namespace 'spam'
| |--bacon # Namespace 'spam.bacon'
| | `--*
| `--tomatoes # Namespace 'spam.tomatoes'
| `--*
`--test # Unit tests of second
`--*
app
|--src # Sources of app
| |--lib # Plain directory
| | |--first # Symlink to first/src
| | `--second # Symlink to second/src
| |--fries # App specific package
| | `--*
| |--app.yaml
| `--appengine_config.py
`--test # Unit tests of app
`--*
目前,我们在应用程序根目录中的一个目录中对两个库进行符号链接,创建以下文件结构
应用程序:
first
|--src # Sources of first
| `--spam # Namespace 'spam'
| |--eggs # Namespace 'spam.eggs'
| | `--*
| `--sausage # Namespace 'spam.sausage'
| `--*
`--test # Unit tests of first
`--*
second
|--src # Sources of second
| `--spam # Namespace 'spam'
| |--bacon # Namespace 'spam.bacon'
| | `--*
| `--tomatoes # Namespace 'spam.tomatoes'
| `--*
`--test # Unit tests of second
`--*
app
|--src # Sources of app
| |--lib # Plain directory
| | |--first # Symlink to first/src
| | `--second # Symlink to second/src
| |--fries # App specific package
| | `--*
| |--app.yaml
| `--appengine_config.py
`--test # Unit tests of app
`--*
在appengine\u config
模块中,修改了sys.path
,使其包含符号链接。一切都可以按预期导入
问题在于GAE dev_appserver无法解决符号链接问题。在实际路径(而不是符号链接路径)中设置断点时,PyDev会发出警告:
pydev调试器:警告:尝试向不存在的文件添加断点:(将无效)
诀窍是在符号链接文件中添加断点。这很烦人
有没有办法禁用GAE沙盒,以便在不进行符号链接的情况下导入模块,或者绕过它?目标是使断点在库位于工作区中时工作