Pip忽略了变更的要求

时间:2016-10-03 16:58:26

标签: python python-2.7 pip requirements.txt

正在开发的软件包的requirements.txt文件包含:

git://git.gitsomewhere.com/MyProject.git@da39a3aaae6b4b0d3255bf5595601890afd80709#egg=MyProject

它由

安装
pip install -r requirements.txt

没有以前的版本。

但是,当提交哈希更改时,pip将不会更新依赖项(很高兴地报告该需求已经满足)。

有没有办法可靠地使pip获取正确的版本,由commit hash指定(并且可能在获取的包的setup.py中的版本进一步确认)?

点8.1.2,记录。

1 个答案:

答案 0 :(得分:1)

可以通过在-e前添加依赖关系行来添加可编辑项目而不是安装到virtualenv中:

-e git://git.gitsomewhere.com/MyProject.git@da39a3aaae6b4b0d3255bf5595601890afd80709#egg=MyProject

另一种方式,在某些情况下可能更合适的是添加(直接或更方便的路径):

-e MyProject

并作为git子模块处理。 (另见Including Git submodules on pythonpath when using virtualenv

还有一种方法:

./MyProject
请注意,以前的解决方案可能会受到旧安装的影响。

注意,只有当setup.py 中的版本更改时,pip install -r requirements.txt才会更新安装

在使用一个或另一个解决方案之前,请检查它是否(以及是否)从先前安装的软件包中恢复。