运行 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.ini
的 pip.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 代理而出现证书错误的主要内容,如果未能解决你的问题,请参考以下文章
pip install -- Failed building wheel for XXX
如何从 subprocess.run() 运行 pip install 命令 [重复]