Question Problème d'installation d'un dépôt github privé à l'aide de pip


En préface, j'ai déjà vu cette question Est-il possible d'utiliser pip pour installer un paquet depuis un dépôt github privé?

J'essaie d'installer un paquet depuis un dépôt privé auquel j'ai accès en utilisant pip.

Je suis capable de le cloner directement comme suit:

(myenv)robbie@ubuntu:~/git$ git clone git@github.com:matherbk/django-messages.git
Cloning into 'django-messages'...
remote: Counting objects: 913, done.
remote: Compressing objects: 100% (345/345), done.
remote: Total 913 (delta 504), reused 913 (delta 504)
Receiving objects: 100% (913/913), 165.73 KiB, done.
Resolving deltas: 100% (504/504), done.

Mais quand j'essaie de l'installer via pip (mon virtualenv est activé):

(myenv)robbie@ubuntu:~/git$ pip install git+https://git@github.com/matherbk/django-messages.gitDownloading/unpacking git+https://git@github.com/matherbk/django-messages.git
  Cloning https://git@github.com/matherbk/django-messages.git to /tmp/pip-13ushS-build
Password for 'https://git@github.com': 
fatal: Authentication failed
  Complete output from command /usr/bin/git clone -q https://git@github.com/matherbk/django-messages.git /tmp/pip-13ushS-build:

----------------------------------------
Command /usr/bin/git clone -q https://git@github.com/matherbk/django-messages.git /tmp/pip-13ushS-build failed with error code 128 in None
Storing complete log in /home/robbie/.pip/pip.log

J'ai essayé de taper mon mot de passe mais celui-ci a échoué. Cependant, je suis ssh authentifié pour git@github.com:

(myenv)robbie@ubuntu:~/git$ ssh -T git@github.com
Hi robpodosek! You've successfully authenticated, but GitHub does not provide shell access.

Je peux changer git@github.com à robpodosek@github.com et il me permet d'installer via pip très bien:

(myenv)robbie@ubuntu:~/git$ pip install git+https://robpodosek@github.com/matherbk/django-messages.git
Downloading/unpacking git+https://robpodosek@github.com/matherbk/django-messages.git
  Cloning https://robpodosek@github.com/matherbk/django-messages.git to /tmp/pip-SqEan9-build
Password for 'https://robpodosek@github.com': 
  Running setup.py egg_info for package from git+https://robpodosek@github.com/matherbk/django-messages.git

    warning: no files found matching 'README'
Installing collected packages: django-messages
  Running setup.py install for django-messages

    warning: no files found matching 'README'
Successfully installed django-messages
Cleaning up...

Cependant, je veux faire ce que fait le premier article en utilisant git@github.com pour ne pas avoir à ajouter mon nom d'utilisateur dans un fichier requirements.txt et l'ajouter au contrôle de version.

Des pensées? J'ai déjà eu ce travail, mais j'ai dû démarrer une nouvelle image. Merci d'avance


22
2017-09-18 22:33


origine


Réponses:


Cela a fonctionné en utilisant la suggestion de oxyum de le changer pour:

pip install git+ssh://git@github.com/matherbk/django-messages.git

33
2017-09-20 17:23



Assurez-vous d'utiliser github.com/account au lieu de github.com:account voir Les dépendances Git + SSH ont des différences subtiles (mais critiques) par rapport au clone git


3
2018-05-31 17:20



Avait virtualenv activé et a dû installer une série d'applications à partir de github.com à partir d'un fichier texte.

(venv)$ cat requirements.txt
-e git://github.com/boto/botocore.git@develop#egg=botocore
-e git://github.com/boto/jmespath.git@develop#egg=jmespath
-e git://github.com/boto/s3transfer.git@develop#egg=s3transfer
nose==1.3.3
mock==1.3.0
wheel==0.24.0
unittest2==0.5.1; python_version == '2.6'

(venv)$ pip install -r requirements.txt
Ignoring unittest2: markers 'python_version == "2.6"' don't match your environment Obtaining botocore from git+git://github.com/boto/botocore.git@develop#egg=botocore (from -r requirements.txt (line 1))
Cloning git://github.com/boto/botocore.git (to develop) to ./venv/src/botocore
fatal: unable to connect to github.com:
github.com[0: 192.30.253.112]: errno=Connection timed out
github.com[1: 192.30.253.113]: errno=Connection timed out

Command "git clone -q git://github.com/boto/botocore.git 
/home/ubuntu/utils/boto3/venv/src/botocore" failed with error code 128 in None

Cependant, comme suggéré par @Robeezy, édité le require.txt et changé de

-e git://github.com...

à

-e git+https://github.com...

C'est le lien fourni si vous souhaitez cloner à partir du site (seules les options étaient Clone ou Download).

Alors merci! Cela a fonctionné finalement.


0
2018-02-23 08:52



Si vous installez avec pip install git+https://github.com/repo et obtenir cette erreur, assurez-vous que votre nom d'utilisateur et mot de passe sont corrects. Je recevais cette erreur car je saisissais incorrectement mon mot de passe.


0
2018-03-09 14:57