我如何强制PIP从存储库中分支的最后一个提交中安装



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

pip install --upgrade --force-reinstall pathToGithubRepo

以numpy的存储库为例。

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

$ pip install -e git+https://github.com/numpy/numpy.git@75b2d5d427afdb1392f2a0b2092e0767e4bab53d#egg=numpy

其中75b2d5d427afdb1392f2a0b2092e0767e4bab53d是Numpy存储库的最新提交,而numpy是Egg使用的项目名称,用于PIP来找出依赖关系。


如果您还要自动获得最新的提交哈希,则可以使用命令:

$ git ls-remote  git@github.com:numpy/numpy.git | head -1 | awk '{print $1;}'
75b2d5d427afdb1392f2a0b2092e0767e4bab53d

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

用您的存储库URL和项目名称替换Numpy,并且您已经设置了。

您可以使用标志--no-cache-dir临时禁用缓存并避免从已缓存的下载中安装,而是强制下载最新的提交。(链接到文档)

这看起来像

pip install --upgrade --no-cache-dir [path to package location]

以菜肴包为例,这可能看起来像:

pip install --upgrade --no-cache-dir https://github.com/chardet/chardet/archive/refs/heads/master.zip

最新更新