Ich versuche, ein Python-Paket aus einem privaten GitHub-Repository zu installieren. Für ein öffentliches Repository kann ich den folgenden Befehl eingeben, der gut funktioniert:
pip install git+git://github.com/django/django.git
Wenn ich dies jedoch für ein privates Repository versuche:
pip install git+git://github.com/echweb/echweb-utils.git
Ich erhalte die folgende Ausgabe:
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
Ich vermute, das liegt daran, dass ich versuche, auf ein privates Repository zuzugreifen, ohne mich zu authentifizieren. Ich habe daher versucht, Git + zu verwenden. ssh
in der Hoffnung, dass pip meinen öffentlichen SSH-Schlüssel zur Authentifizierung verwenden würde:
pip install git+ssh://github.com/echweb/echweb-utils.git
Dies ergibt die folgende Ausgabe:
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
Ist das, was ich zu erreichen versuche, überhaupt möglich? Wenn ja, wie kann ich es erreichen?
4 Stimmen
Es ist sicherlich nicht die richtige Antwort, aber wenn Sie das Projektarchiv manuell klonen und pip auf localhost statt auf github verweisen, können Sie das Problem umgehen, wenn Sie nur versuchen, produktiv zu sein.
3 Stimmen
@nmicheals Das ist, was ich bisher getan habe, aber ich muss dies in Anforderungsdateien für die Bereitstellung über viele Websites alle mit separaten virtualenvs setzen.
0 Stimmen
Nur um sicher zu gehen: Sie haben bereits die Unterstützung für SSH-Schlüssel auf Github eingerichtet, richtig? Wenn das definitiv nicht funktioniert.... Haben Sie versucht, git+git://user:pass@github.com/.... als URI zu verwenden?
0 Stimmen
Versuchen Sie es mit
eval $(ssh-agent); ssh-add ~/.ssh/github_id_rsa
und führen Sie dann pip installs wie folgt aus pip.pypa.io/de/stable/reference/pip_install/#git