2009-03-13 11 views
4

Comme le dit le titre, est-ce que pip prend en charge l'authentification http, comme le fait easy_install?Est-ce que pip python supporte l'authentification http?

Sinon, existe-t-il des (meilleures) alternatives à l'exécution d'un référentiel de paquet privé? Je vois que pip peut accéder aux référentiels sources (git, svn etc.), mais les exigences de version peuvent-elles être utilisées avec cela?

+0

[Il devrait] (https://github.com/pypa/pip/issues/51). – Paolo

Répondre

3

pip uses urllib2.urlopen() pour récupérer des fichiers. urllib2.urlopen() prend en charge l'authentification HTTP, mais pip ne semble pas installer le HTTPBasicAuthHandler lors de la génération de son programme d'ouverture. L'ajout d'un tel support serait trivial; vous pouvez analyser l'URL de l'utilisateur: mot de passe ou accepter les mêmes informations que les paramètres de la ligne de commande. feedparser prend en charge les deux méthodes par subclassing urllib2.HTTPDigestAuthHandler.

2

FYI, il est actuellement en cours d'élaboration dans la branche http_auth_index qui permettra l'utilisation de base auth pour les index personnalisés.

4

Pour les personnes qui cherchent toujours une réponse, vous pouvez utiliser la syntaxe suivante:

pip install -r https://user:[email protected]/path/requirements.txt 

Un aussi si vous avez besoin de valider leur utilisation du certificat:

pip install --cert host.pem -r https://user:[email protected]/path/requirements.txt 

Cela fonctionne sur:

$ pip --version 
pip 1.5.4 from /usr/local/lib/python2.7/dist-packages (python 2.7) 

Pour mettre à niveau votre pip faire:

pip install --upgrade pip