首页 > 解决方案 > Pip 安装 TLS CA 问题

问题描述

每次我尝试 pip install 时,都会发生这种情况:

Lucianos-Mac:test luciano$ pip install torch
Collecting torch
Could not install packages due to an EnvironmentError: Could not find a suitable TLS CA certificate bundle, invalid path: /Users/luciano/Applications/NextGIS/Library/Frameworks/openssl.framework/Resources/ssl/certs/cert.pem

它引用的路径是我从 nextgis.com 安装 gdal 包时创建的,后来我将其删除,因此 NextGIS 目录不存在。但是,pip 仍然在那里寻找证书,我不知道如何更改它。我在 MacOS 10.14 上使用 Python 3.6 和 Pip 19.0.3。

编辑:env | grep cert输出

SSL_CERT_FILE=/Users/luciano/Applications/NextGIS/Library/Frameworks/openssl.framework/Resources/ssl/certs/cert.pem
CURL_CA_BUNDLE=/Users/luciano/Applications/NextGIS/Library/Frameworks/openssl.framework/Resources/ssl/certs/cert.pem

取消设置这些暂时解决了问题,但是当我重新启动终端时,它们又被设置了,我不知道在哪里。

标签: pythonmacospipcertificate

解决方案


您可以将环境变量跟踪到通过以下方式设置的任何位置:

$ PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 2> ~/desktop/trace.log ; reset

紧随其后的是Control+C

然后发出以下命令:

$ grep REQUESTS_CA_BUNDLE ~/desktop/trace.log

它应该返回它在您的环境中设置的位置。


推荐阅读