Google app engine 在Google App Engine(PyDev)中管理命名空间开发库

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' | `--* `

在开发GAE应用程序的同时,还开发了内部库。这些库使用名称空间包

为了演示,我有两个具有以下文件结构的库

第一个库:

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沙盒,以便在不进行符号链接的情况下导入模块,或者绕过它?目标是使断点在库位于工作区中时工作