运行 pip install - 在 Windows 机器上。由于 Web 代理而出现证书错误

Posted

技术标签:

【中文标题】运行 pip install - 在 Windows 机器上。由于 Web 代理而出现证书错误【英文标题】:running pip install - on windows machine. Getting Cert errors due to web proxy 【发布时间】:2019-04-15 04:36:24 【问题描述】:

我正在准备在我的公司网络中使用 Python 的环境。我相信由于我们在防火墙上使用 SSL 拦截,python 不信任安装过程中提供的证书。我们使用 Palo Alto 防火墙,如果您检查任何 SSL 网站,您会发现防火墙是所有 SSL 网站的签名证书。这是一个 Windows 工作站,并且 CA 证书在 Windows 证书存储中是受信任的。当我运行命令时

python -m pip install --upgrade pip

我收到此错误

PS U:\code> python -m pip install --upgrade pip
连接被 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:自签名证书在证书链 (_ssl.c:1051)'))': /simple/pip/
连接被 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:自签名证书在证书链 (_ssl.c:1051)'))': /simple/pip/
连接被 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:自签名证书在证书链 (_ssl.c:1051)'))': /simple/pip/
连接被 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:自签名证书在证书链 (_ssl.c:1051)'))': /simple/pip/
连接被 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:自签名证书在证书链 (_ssl.c:1051)'))': /simple/pip/
无法获取 URL https://pypi.org/simple/pip/:确认 ssl 证书时出现问题:HTTPSConnectionPool(host='pypi.org', port=443):最大重试次数超出 url:/simple/ pip/ (由 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败: 证书链中的自签名证书 (_ssl.c:1051)')) - 跳过
要求已经更新:c:\program files (x86)\python37-32\lib\site-packages (10.0.1) 中的 pip
无法获取 URL https://pypi.org/simple/pip/:确认 ssl 证书时出现问题:HTTPSConnectionPool(host='pypi.org', port=443):最大重试次数超出 url:/simple/ pip/ (由 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:证书链中的自签名证书 (_ssl.c:1051)')) - 跳过

我不确定最后是否有标签。我看到了一个类似的问题,但我认为它与存储库 url 使用的特定证书无关。

link here

感谢任何帮助。谢谢!

【问题讨论】:

【参考方案1】:

您在代理后面,因此 pip 无法访问 python 包索引。如果您的公司运行专用的 pypi 克隆,您将必须更改位于 C:\Users\<you>\AppData\Roaming\pip\pip.inipip.ini 文件。如果它尚不存在,请制作一个并使用此信息:

[global]
index-url = your company url
cert = location of your certs (ask IT
[search]
index = your company url

这个网址通常是某种人工制品。

【讨论】:

感谢您的帮助。如果我们不操作自己的pypi clone,我还要走这个流程吗?谢谢。 尝试手动下载 .whl 或 tar.gz 文件,然后从下载文件夹中下载 pip install <filename here,这很乏味,但它确实有效...如果包是 pip 可安装的

以上是关于运行 pip install - 在 Windows 机器上。由于 Web 代理而出现证书错误的主要内容,如果未能解决你的问题,请参考以下文章

window下安装pip和obspy

python怎么安装opencv库

pip install -- Failed building wheel for XXX

如何从 subprocess.run() 运行 pip install 命令 [重复]

运行 pip install - 在 Windows 机器上。由于 Web 代理而出现证书错误

新人小白,安装pip install pyinstaller遇到问题,求大神帮帮忙!