添加另一个项目的子目录作为子树

时间:2012-02-03 01:46:57

标签: python django git

我有一个git项目(一个Django应用程序),我想添加另一个应用程序(https://github.com/lambdafu/django-south)作为子树。问题是第三方存储库的根目录有一个额外的目录层。我不想乱用python的加载路径,添加符号链接或额外的前缀来导入语句。有没有办法在我的项目中将south子目录作为子树?

2 个答案:

答案 0 :(得分:1)

让我们调用南方项目repo的根目录。

您可以通过添加repo使__init__.py成为python模块,然后将repo.south添加到已安装的应用中。

(借鉴here

您还可以将repo添加为git submodule,这样您就可以维护南方的特定修订以及项目的特定修订。

答案 1 :(得分:1)

你是否想把南方列为依赖?因为这听起来像。如果是这样,那么有一种比在项目树中包含目录更好的方法。这很麻烦,我们有工具。

您使用pip吗? virtualenv怎么样?如果是这样的话,pip install -e git+https://github.com/lambdafu/django-south#egg=south你会很高兴。要在安装后更新到最新的HEAD,您只需添加-U标志。您甚至可以将您的要求保存在请求文件(pip freeze > requirements.txtpip install -r requirements.txt)中,以使其保持版本控制。

如果没有,为什么不呢?