我有一个git项目(一个Django应用程序),我想添加另一个应用程序(https://github.com/lambdafu/django-south)作为子树。问题是第三方存储库的根目录有一个额外的目录层。我不想乱用python的加载路径,添加符号链接或额外的前缀来导入语句。有没有办法在我的项目中将south
子目录作为子树?
答案 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.txt
,pip install -r requirements.txt
)中,以使其保持版本控制。
如果没有,为什么不呢?