Установите конкретный git commit с пипом

Я разрабатываю приложение django, и я использую pip для управления моими требованиями. Как сделать, чтобы установить конкретный git commit?

В моем случае мне нужно установить эту фиксацию: https://github.com/aladagemre/django-notification/commit/2927346f4c513a217ac8ad076e494dd1adbf70e1

Ответ 1

Вы можете указать хеш фиксации, имя ветки, тег.

Для имени ветки и тега вы также можете установить сжатый дистрибутив. Это быстрее и эффективнее, поскольку не требует клонирования всего хранилища. GitHub автоматически создает эти пакеты.

Хэш:

$ pip install git+git://github.com/aladagemre/[email protected]

ветки имя

С git

$ pip install git+git://github.com/aladagemre/[email protected]

или из исходного пакета

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

тег

с git

$ pip install git+git://github.com/aladagemre/[email protected]

или из исходного пакета

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

Это не хорошо документированная функция, но вы можете найти более подробную информацию на https://pip.pypa.io/en/latest/reference/pip_install.html#git

Ответ 2

Дополнительный комментарий к @hugo-tavares:

Если это частный репозиторий GitHub, вам необходимо использовать:

pip install git+ssh://[email protected]/....

В вашем случае:

pip install git+ssh://[email protected]/aladagemre/[email protected]

Ответ 3

Можно автоматически установить пакет python с помощью файла requirements.txt на ваш проект, просто добавив следующую строку:

-e git+https://github.com/owner/[email protected]_or_commit

и запустите командную строку:

$ pip install -r requirements.txt

Ответ 4

Если вы хотите создать пакет яиц, вы все равно можете использовать тот же @branch_or_commit appendage: pip install git+ssh://[email protected]/[email protected]#egg=myeggscript