Zainstaluj specyficzne zatwierdzenie git za pomocą pip


Odpowiedzi:


281

Możesz określić skrót zatwierdzenia, nazwę gałęzi, tag.

Dla nazwy gałęzi i tagu możesz również zainstalować dystrybucję skompresowaną. Jest to szybsze i bardziej wydajne, ponieważ nie wymaga klonowania całego repozytorium. GitHub automatycznie tworzy te pakiety.

haszysz:

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

Nazwa oddziału

Z git

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

lub z pakietu źródłowego

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

etykietka

z git

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

lub z pakietu źródłowego

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

Nie jest to dobrze udokumentowana funkcja, ale więcej informacji można znaleźć pod adresem https://pip.pypa.io/en/latest/reference/pip_install.html#git


24
Could not find a tag or branch '2927346f4c513a217ac8ad076e494dd1adbf70e1', assuming commit.
Doda

10
@ vlad-ardelean masz jakiś pomysł, jak powiedzieć pipowi, że TO JEST zatwierdzenie? To jest wyświetlane w moim skrypcie wdrażania i nie chcę pomijać wszystkich standardowych błędów.
Leonardo Arroyo

Jeśli nic nie określisz, jakie będzie zachowanie?
Scott Stafford,

@ScottStafford Nie powinieneś mieć gałęzi / tagu, który jest nazywany jak komunikat o zatwierdzeniu. To byłoby ... dziwne.
Martin Thoma,

Ponadto chciałbym wspomnieć wersję HTTPS z git+poleceniem: pip install git+https://github.com/gpoore/codebraid@011464539bfb09b8611c8aef0d543532cea958bf. Może to być ważne dla osób korzystających z korporacyjnych serwerów proxy HTTP.
grwlf

19

Dodatkowy komentarz do odpowiedzi @ hugo-tavares:

Jeśli jest to prywatne repozytorium GitHub, musisz użyć:

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

W Twoim przypadku:

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

12

Możliwe jest automatyczne zainstalowanie pakietu Pythona przy użyciu pliku Requirements.txt w projekcie, po prostu dodając następujący wiersz:

-e git+https://github.com/owner/repository.git@branch_or_commit

i uruchom wiersz poleceń:

$ pip install -r requirements.txt


15
Dla mnie (pip 9.0.1 w python3.5 virtualenv) nie zadziałało: pip install -r requirements.txtpodniesiono „Nie można wykryć nazwy wymagania, podaj jedną z # egg =”. Ale działało z formatem „-e git + github.com/owner/repository.git#egg=branch_or_commit
Edouard Berthe

Musisz użyć tego formatu w pliku Requirements.txt. Czy ty to zrobiłeś?
mannysz

Mam to działające, ale to jest niejasne. Trzeba mieć „nazwa_pakietu -e ...”, a nie tylko „-e…” na początku linii.
Udi

1

Jeśli chcesz stworzyć pakiet jajek, nadal możesz użyć tego samego dodatku @branch_or_commit: pip install git+ssh://git@github.com/myrepo.git@mybranch#egg=myeggscript

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.