我用最新的pip运行ubuntu 13.10。
我按照以下方式为我的公司代理安装了一整套SSL证书: https://askubuntu.com/questions/73287/how-do-i-install-a-root-certificate现在。
Firefox不再抱怨无法识别的证书,但我仍然得到:
Could not fetch URL http://pypi.python.org/simple/: There was a problem confirming the
ssl certificate: [Errno 1] _ssl.c:509: error:14090086:SSL
routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
用pip?
我尝试将设置添加到$ HOME / .pip / pip.conf
[global]
cert = /etc/ssl/certs/mycorporatecert.pem
以及
由于
答案 0 :(得分:1)
我猜您必须使用pip
的{{1}}选项。
--cert
文档中没有迹象表明您可以使用--cert <path> Path to alternate CA bundle.
配置文件中的cert=
选项。请参阅:https://pip.pypa.io/en/stable/reference/pip/?highlight=proxy#cmdoption-cert
答案 1 :(得分:1)
尝试更新您的代理变量,如http_proxy和https_proxy
所示https://askubuntu.com/questions/228530/updating-http-proxy-environment-variable
您应该需要证书(或上面声明的全局证书)以及代理。设置变量的替代方法是从命令行使用它,如[user:passwd @] proxy.server:port
pip install --proxy http://proxy.company.com:80 <package>
答案 2 :(得分:1)
尽管文档可能会说cert = PATH_TO_CERTIFICATE_FILE
或pip.conf
中放置pip.ini
确实对我有用,至少对于带有pip 9.0.1的本机Windows Python 2.7.13。 / p>
BTW:在Windows上,配置文件位于%APPDATA%\pip\pip.ini
,可能必须手动创建(包括pip
目录)。
答案 3 :(得分:0)
我不知道是否总是这样,但是我发现我还需要设置REQUESTS_CA_BUNDLE环境变量,大概是因为pip使用了请求并且没有将所有配置传递给它。