236 votes

Installer un commit git spécifique avec pip

Je développe une application Django et j'utilise Pip pour gérer mes besoins. Comment puis-je installer un commit spécifique de git ?

Dans mon cas, j'ai besoin d'installer ce commit : https://github.com/aladagemre/django-notification/commit/2927346f4c513a217ac8ad076e494dd1adbf70e1

397voto

Hugo Tavares Points 5020

Vous pouvez spécifier le hash du commit, le nom de la branche, le tag.

Pour le nom de la branche et le tag, vous pouvez également installer une distribution compressée. Cette méthode est plus rapide et plus efficace, car elle ne nécessite pas de cloner l'ensemble du dépôt. GitHub crée ces paquets automatiquement.

haché :

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

nom de la branche

Avec git

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

ou à partir du faisceau de sources

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

étiquette

avec git

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

ou à partir du faisceau de sources

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

Il s'agit d'une fonctionnalité peu documentée, mais vous pouvez trouver plus d'informations à l'adresse suivante https://pip.pypa.io/en/latest/topics/vcs-support/

27voto

Cheapshot Points 142

Il est possible d'installer automatiquement un paquetage python en utilisant le fichier requirements.txt sur votre projet en ajoutant simplement la ligne suivante :

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

et exécutez la ligne de commande :

$ pip install -r requirements.txt

21voto

PGuiv Points 497

Un commentaire supplémentaire à la réponse de @hugo-tavares :

S'il s'agit d'un dépôt GitHub privé, vous devrez utiliser :

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

Dans votre cas :

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

3voto

Dannid Points 147

Si vous voulez créer un paquet d'œufs, vous pouvez toujours utiliser le même appendice @branch_ou_commit : pip install git+ssh://git@github.com/myrepo.git@mybranch#egg=myeggscript

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X