Попытка выяснить, есть ли способ, которым я могу избежать использования флага --cert для pip, когда я устанавливаю пакеты на работе. Существует некоторая проблема с прокси, которая позволяет мне загружать пакеты, которые мне нужны, только когда я предоставляю этот флаг, несмотря на добавление и запуск mycert.crt
файла ./usr/local/share/ca-certificates
sudo update-ca-certificates
Пример сообщений, которые я вижу:
$ pip install "virtualenv>=1.10.1"
Downloading/unpacking virtualenv>=1.10.1
Could not fetch URL https://pypi.python.org/simple/virtualenv/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed>
Will skip URL https://pypi.python.org/simple/virtualenv/ when looking for download links for virtualenv>=1.10.1
Could not fetch URL https://pypi.python.org/simple/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed>
Will skip URL https://pypi.python.org/simple/ when looking for download links for virtualenv>=1.10.1
Cannot fetch index base URL https://pypi.python.org/simple/
Could not fetch URL https://pypi.python.org/simple/virtualenv/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed>
Will skip URL https://pypi.python.org/simple/virtualenv/ when looking for download links for virtualenv>=1.10.1
Could not find any downloads that satisfy the requirement virtualenv>=1.10.1
Cleaning up...
No distributions at all found for virtualenv>=1.10.1
Storing complete log in /tmp/tmpwW5qXD
Это можно решить, используя вместо этого:
pip install --cert=/usr/local/share/ca-certificates/mycert.crt
Однако я бы предпочел не делать этого (так как я уверен, что другие приложения сталкиваются с этой проблемой).
Я использую Linux Mint 15 (хотя ранее у меня были очень похожие проблемы с Ubuntu 12.04), версия 1.4.1.
linux
ubuntu
linux-mint
ssl
certificate
Йен Ли
источник
источник
Ответы:
Вы можете установить это через файл конфигурации pip, который находится в Windows
$HOME/.pip/pip.conf
или%APPDATA%\pip\pip.ini
в Windows:Этот файл позволяет вам установить в основном все флаги, которые использует pip. Полная документация находится по адресу https://pip.pypa.io/en/latest/user_guide/#configuration.
источник
Для меня ни один из обходных путей файла конфигурации не работал. Я использую пип 1.5.4 на Ubuntu 14.04
То, что в конечном итоге у меня сработало, это сначала установить сертификат в системе (для меня это будет на Ubuntu)
Предыдущий автоматически обновляет файл пакета (при проверке внизу
/etc/ssl/certs/ca-certificates.crt
вы должны увидеть тот же сертификат, что и вmy_cert.crt
)Теперь используйте этот путь в
PIP_CERT
. И добавить его в мой.bashrc
:ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ : Я уже опубликовал этот ответ в SO (тот же ответ, что и в «в конечном итоге дублированная ссылка выше», но в начале я не нашел другой (в конечном итоге дублированный ответ) ... так что если кто-то, как я, попадет сюда первым, тогда это может помочь.
Может быть, я нарушаю какие-то правила, чтобы публиковать один и тот же ответ дважды, один в SO, а другой в суперпользователе. Если так, извините за это.
источник
Это работало для меня без необходимости знать, где находится файл конфигурации:
Я считаю, что вам нужна версия 10+, которую вы можете найти с помощью:
Вывод команды config set затем выводит имя файла конфигурации для вашего удобства
источник