pip不能使用自定义SSL证书?

时间:2014-01-28 01:13:59

标签: python ubuntu ssl pip

我用最新的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

以及

由于

4 个答案:

答案 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_FILEpip.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使用了请求并且没有将所有配置传递给它。