2012-04-09 63 views
4

我使用pip需求文件来管理项目的virtualenv。有一些模块在PyPi上不定期更新,或者我需要开发版本。在这种情况下,pip具有很好的功能,可以从源代码中提取。我可以在我的要求文件放在这个:pip源需求版本号

hg+https://bitbucket.org/ubernostrum/[email protected] 

这里的问题是,它总是下载每次pip -r运行包。相反,我可以指定一个鸡蛋的名称,以便它会知道它已经安装:

hg+https://bitbucket.org/ubernostrum/[email protected]#egg=django-registration 

我现在遇到的问题是,如果我更新的URL散列,模块没有更新,除非我强迫更新通过-Upip。这需要很长时间,因为每个包都在需求文件中更新。

是否有某种方法来更新存储库散列时冲击版本号,以便pip知道更新是必需的?

+0

首先是一个开放的问题:https://github.com/pypa/pip/issues/166;我不知道如何处理第二个。 – 2012-04-09 22:07:30

回答

3

我认为最简单的做法是向鸡蛋名称添加一个版本字符串,例如

hg+https://bitbucket.org/ubernostrum/[email protected]#egg=django-registration-1.2

然后撞击版本字符串每次修改散列

+1

这绝对不行。如果鸡蛋名称不是真名,它只是每次重新下载包装。 – jterrace 2012-04-09 19:48:10