J'essaie d'installer un paquet Python à partir d'un dépôt GitHub privé. Pour un dépôt public, je peux utiliser la commande suivante qui fonctionne bien :
pip install git+git://github.com/django/django.git
Cependant, si j'essaie ceci pour un dépôt privé :
pip install git+git://github.com/echweb/echweb-utils.git
J'obtiens le résultat suivant :
Downloading/unpacking git+git://github.com/echweb/echweb-utils.git
Cloning Git repository git://github.com/echweb/echweb-utils.git to /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build
Complete output from command /usr/local/bin/git clone git://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build:
fatal: The remote end hung up unexpectedly
Cloning into /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build...
----------------------------------------
Command /usr/local/bin/git clone git://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build failed with error code 128
Je suppose que c'est parce que j'essaie d'accéder à un référentiel privé sans fournir aucune authentification. J'ai donc essayé d'utiliser Git + ssh
en espérant que Pip utilise ma clé publique SSH pour s'authentifier :
pip install git+ssh://github.com/echweb/echweb-utils.git
Cela donne le résultat suivant :
Downloading/unpacking git+ssh://github.com/echweb/echweb-utils.git
Cloning Git repository ssh://github.com/echweb/echweb-utils.git to /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-DQB8s4-build
Complete output from command /usr/local/bin/git clone ssh://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-DQB8s4-build:
Cloning into /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-DQB8s4-build...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
----------------------------------------
Command /usr/local/bin/git clone ssh://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-DQB8s4-build failed with error code 128
Est-ce que ce que j'essaie de faire est possible ? Si oui, comment puis-je le faire ?
4 votes
Ce n'est certainement pas la bonne réponse, mais cloner manuellement le dépôt et faire pointer pip vers localhost au lieu de github vous permettra de surmonter ce problème si vous essayez simplement d'être productif.
3 votes
@nmicheals C'est ce que j'ai fait jusqu'à présent, mais j'ai besoin de mettre cela dans des fichiers d'exigences pour le déploiement sur de nombreux sites web, tous avec des virtualenvs séparés.
0 votes
Juste pour être sûr : vous avez déjà configuré le support des clés ssh sur github, n'est-ce pas ? Si cela ne fonctionne pas.... Avez-vous essayé d'utiliser git+git://user:pass@github.com/.... comme URI ?
0 votes
Essayez d'utiliser
eval $(ssh-agent); ssh-add ~/.ssh/github_id_rsa
et ensuite exécuter pip installs suivant pip.pypa.io/en/stable/reference/pip_install/#git