ask*_*tor 6 python git django pip
我正在开发一个django项目,使用git进行代码管理.主项目有许多应用程序作为子模块,每个子模块可以独立使用,因此每个都在单独的git存储库中.所有这些应用程序都在开发中,至少有一个是从另一个项目分叉的.这些应用程序可以通过pip安装,在克隆repo时,根目录中有setup.py和README等,然后是子文件夹中的实际应用程序.
如果我pip安装应用程序,那么工作代码将位于git管理下的文件夹的不同位置,所以每次我更改我需要的代码pip install
(或者是否有另一个pip命令?)更新python正在寻找它的代码
我可以pip install -e
用来防止上述情况.但是,我需要将每个应用程序克隆到单独的文件夹中:我不能将应用程序克隆到project/apps
并拥有project/apps/foo
,project/apps/bar
因为他们都会尝试将其setup.py放入project/apps
.相反,我需要克隆foo,project/apps/foo
但实际的代码是project/apps/foo/foo
.这让我感到丑陋而且不是非常django-ish.
有没有其他更漂亮的方式去做我想做的事情?
我认为您真正想要使用的是需求文件(而不是使用 git 子模块)以及项目的virtualenv 。
使用需求文件,您可以直接从给定分支或提交克隆存储库,例如:
要求.txt:
Django==1.4.1
South==0.7.6
git+git://github.com/fabric/fabric#egg=Fabric
git+git://github.com/toastdriven/django-tastypie.git@876c0541e2531d3b6e070ffab906f7c6e359c427#egg=django-tastypie
Run Code Online (Sandbox Code Playgroud)
然后就可以运行了pip install -r requirements.txt
。
从 tastypie 示例中您会注意到,您可以将 pip 安装锁定到特定提交(只要您留在 virtualenv 中就可以),这本质上与子模块所做的事情相同,但不会弄乱您的 git 存储库或文件当确实应该将包安装到您无论如何都可以获取的单独位置时,使用包来构建结构。
归档时间: |
|
查看次数: |
2397 次 |
最近记录: |