使用pip安装特定的git提交

我正在开发一个django应用程序,我使用pip来管理我的需求。如何安装特定git的commit?

在我的情况下,我需要安装这个提交: https://github.com/aladagemre/django-notification/commit/2927346f4c513a217ac8ad076e494dd1adbf70e1 < / p >
111682 次浏览

您可以指定提交哈希,分支名称,标签。

对于分支名称和标记,还可以安装压缩发行版。这更快更有效,因为它不需要克隆整个存储库。GitHub自动创建这些包。

散列:

$ pip install git+https://github.com/aladagemre/django-notification.git@2927346f4c513a217ac8ad076e494dd1adbf70e1

分支名称

与git

$ pip install git+https://github.com/aladagemre/django-notification.git@cool-feature-branch

或者来自源码包

$ pip install https://github.com/aladagemre/django-notification/archive/cool-feature-branch.tar.gz

标签

与git

$ pip install git+https://github.com/aladagemre/django-notification.git@v2.1.0

或者来自源码包

$ pip install https://github.com/aladagemre/django-notification/archive/v2.1.0.tar.gz

这是一个没有很好记录的特性,但你可以在https://pip.pypa.io/en/latest/topics/vcs-support/找到更多信息

@hugo-tavares的回答有额外的评论:

如果它是一个私有的GitHub存储库,你将需要使用:

pip install git+ssh://git@github.com/....

在你的情况下:

pip install git+ssh://git@github.com/aladagemre/django-notification.git@2927346f4c513a217ac8ad076e494dd1adbf70e1

在你的项目上使用requirements.txt文件自动安装python包是可能的,只需添加以下一行:

package-name -e git+https://github.com/owner/repository.git@branch_or_commit#egg={package-name}

然后运行命令行:

$ pip install -r requirements.txt

如果你想创建一个卵包,你仍然可以使用相同的@branch_or_commit附件:pip install git+ssh://git@github.com/myrepo.git@mybranch#egg=myeggscript