如何强制 pip 从存储库中分支的最后一次提交开始安装?

sko*_*kov 5 python pip

我希望 pip 从我的 github 存储库的主分支上的最新提交安装。我在 StackOverflow 上尝试了很多这里提到的选项,但都没有帮助。例如,这不起作用:

pip install --upgrade --force-reinstall pathToGithubRepo
Run Code Online (Sandbox Code Playgroud)

vas*_*sia 7

以 numpy 的存储库为例。

如果您知道您感兴趣的提交的哈希值,则可以使用以下命令:

$ pip install -e git+https://github.com/numpy/numpy.git@75b2d5d427afdb1392f2a0b2092e0767e4bab53d#egg=numpy
Run Code Online (Sandbox Code Playgroud)

其中75b2d5d427afdb1392f2a0b2092e0767e4bab53d是 numpy 存储库的最新提交,numpy是 Egg 用于 pip 以确定依赖项的项目名称。


如果你还想自动获取最新的提交哈希,可以使用以下命令:

$ git ls-remote  git@github.com:numpy/numpy.git | head -1 | awk '{print $1;}'
75b2d5d427afdb1392f2a0b2092e0767e4bab53d
Run Code Online (Sandbox Code Playgroud)

Unix 的发明并不是无缘无故的,让我们将它组合成一个大命令:

$ pip install -e git+https://github.com/numpy/numpy.git@$(git ls-remote  git@github.com:numpy/numpy.git | head -1 | awk '{print $1;}')#egg=numpy
Run Code Online (Sandbox Code Playgroud)

将 numpy 替换为您的存储库 url 和项目名称,然后就完成了。