如何使用git和buidout在没有符号链接的情况下使用共享子应用程序构建python项目

时间:2011-08-21 18:48:05

标签: python git git-submodules buildout git-subtree

我有多个项目与其他项目共享子应用。 在项目目录中工作时,我希望能够对应用进行更改,更新它,并将这些更新提取到第二个项目

要求:

  • 不使用 符号链接 (我的IDE调试器无法正常使用)
  • 不编译/重新运行脚本。我想对 app 进行更改,而无需重新运行脚本/ buildout。
  • 应用必须位于项目文件夹中。

这是结构:

app_one (git repo)
  |-- app_one (actual app uses by projects)
  |   +-- models.py
  |-- README.md
  +-- setup.py

project_one  (git repo)
  |-- project_one
  |   |-- apps
  |   |   |-- app_one
  |   |   |   +-- models.py
  |   |   | -- app_two
  |-- setup.cfg
  +-- setup.py

project_two  (git repo)
  |-- project_two
  |   |-- apps
  |   |   |-- app_one (same app as project_one)
  |   |   |   +-- models.py
  |   |   | -- app_two
  |-- setup.cfg
  +-- setup.py

目前我正在使用git-submodules;缺点是没有办法链接到回购的子文件夹。我最近读过关于子树的内容,这会更好吗?

理想情况下,我想使用 buildout ,但我没有找到一个很好的方法来实现这一点而不使用符号链接。如果有办法要这样做,请告诉我。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:3)

mr.developer。当mr.developer源被检出并且被激活时,它将在buildout中成为setuptools / distribute develop egg,因此结账将是任何脚本(例如zc)使用的结果。 build.e中的recipe.egg生成python解释器。