Tentando descobrir se existe uma maneira de evitar o uso do sinalizador --cert ao pip quando estou instalando pacotes no trabalho. Há algum problema com o proxy que apenas permite que eu baixe os pacotes necessários quando forneço esse sinalizador, apesar de adicionar e executar o mycert.crt
arquivo ./usr/local/share/ca-certificates
sudo update-ca-certificates
Um exemplo das mensagens que estou vendo é:
$ 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
Isso pode ser resolvido com o uso de:
pip install --cert=/usr/local/share/ca-certificates/mycert.crt
No entanto, eu preferiria não precisar fazer isso (pois tenho certeza que outros aplicativos se deparam com esse problema).
Estou executando o Linux Mint 15 (embora eu já tenha tido problemas muito semelhantes no Ubuntu 12.04), versão 1.4.1 do pip.
linux
ubuntu
linux-mint
ssl
certificate
Ian Lee
fonte
fonte
Respostas:
Você pode definir isso através do arquivo de configuração do pip, que está no
$HOME/.pip/pip.conf
ou%APPDATA%\pip\pip.ini
no Windows:Esse arquivo permite definir basicamente todos os sinalizadores usados pelo pip. A documentação completa está em https://pip.pypa.io/en/latest/user_guide/#configuration
fonte
Para mim, não as soluções alternativas do arquivo de configuração funcionaram. Estou usando o pip 1.5.4 no Ubuntu 14.04
O que funcionou para mim foi instalar o certificado no sistema primeiro (para mim no ubuntu seria)
O anterior atualiza automaticamente o arquivo de pacote configurável (a verificação na parte inferior de
/etc/ssl/certs/ca-certificates.crt
você agora deve ver o mesmo certificado que emmy_cert.crt
)Agora use esse caminho
PIP_CERT
. E adicione-o ao meu.bashrc
:AVISO LEGAL : Eu já publiquei esta resposta no SO (mesma resposta que no "link eventualmente duplicado acima", mas no começo eu não encontrei a outra (resposta eventualmente duplicada) ... então, se alguém como eu chegar aqui primeiro, então isso pode ajudar.
Talvez eu esteja quebrando algum tipo de regra para postar a mesma resposta duas vezes, uma no SO e a outra no superusuário. Se sim, desculpe por isso.
fonte
Isso funcionou para mim sem precisar saber onde fica o arquivo de configuração:
Eu acredito que você precisa da versão 10+ do pip, que você pode encontrar com:
A saída do comando config set gera o nome do arquivo de configuração para sua conveniência
fonte