2009-03-13 5 views
4

Как говорится в заголовке, поддерживает ли http поддержку HTTP-аутентификации, например easy_install?Поддерживает ли протокол python http аутентификацию?

Если нет, есть ли (лучше) альтернативы запуску репозитория частных пакетов? Я вижу, что pip может получить доступ к исходным репозиториям (git, svn и т. Д.), Но с этим можно использовать требования к версии?

+0

[Он должен] (https://github.com/pypa/pip/issues/51). – Paolo

ответ

3

pip uses urllib2.urlopen() для извлечения файлов. urllib2.urlopen() поддерживает HTTP-аутентификацию, но pip не появляется, чтобы установить HTTPBasicAuthHandler, когда он создает свой открыватель. Добавление такой поддержки было бы тривиальным; вы можете либо проанализировать URL-адрес для пользователя: пароль или принять ту же информацию, что и параметры командной строки. feedparser поддерживает оба метода: subclassing urllib2.HTTPDigestAuthHandler.

2

FYI, в настоящее время он работает в ветке http_auth_index, что позволит использовать базовый auth для пользовательских индексов.

4

Для людей все еще ищут ответ, вы можете использовать следующий синтаксис:

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

An также, если вам требуется, чтобы проверить их использование сертификата:

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

Это работает на:

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

Чтобы модернизировать ваш пипс:

pip install --upgrade pip