【发布时间】:2012-09-17 14:01:53
【问题描述】:
我正在开发一个 django 项目,使用 git 进行代码管理。主项目有许多应用程序作为子模块,每个应用程序都可以独立使用,因此每个应用程序都在单独的 git repos 中。所有这些应用程序都在开发中,并且至少有一个是从另一个项目中派生出来的。这些应用程序可以通过 pip 安装,克隆 repo 时,根目录中有 setup.py 和 README 等,然后是子文件夹中的实际应用程序。
如果我 pip 安装应用程序,那么工作代码将与 git 管理下的文件夹位于不同的位置,所以每次我更改代码时,我都需要 pip install(或者是否有另一个pip 命令?)更新python正在寻找它的代码
我可以使用pip install -e 来防止上述情况。但是,然后我需要将每个应用程序克隆到单独的文件夹中:我不能只将应用程序克隆到 project/apps 并拥有 project/apps/foo 和 project/apps/bar,因为它们都会尝试将它们的 setup.py 放入 @987654326 @。相反,我需要将 foo 克隆到 project/apps/foo 中,但实际代码在 project/apps/foo/foo 中。这让我觉得很丑,而且不是很 django-ish。
还有其他更漂亮的方法来做我想做的事情吗?
【问题讨论】:
-
我有点困惑——您应该使用
pip安装这些应用程序,或者直接克隆应用程序并使用它们。在几乎所有情况下,您都将使用子模块或 pip(可能通过需求文件),但不能同时使用两者。