最近公司电脑受限,安装conda好像有点问题,不让安装。只能pip硬装了:
使用pip安装的时候一直报错:
“
Could not fetch URL https://pypi.org/simple/pyplot/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pyplot/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)'))) - skipping
”
不得已多方找答案,最后找了个稍微靠谱的几种办法:
pip
在通过 HTTPS 协议从 PyPI 拉取包时,无法验证 SSL 证书,导致请求失败。通常这个问题是因为本地环境缺少必要的 CA 证书或 SSL 配置不正确。以下是解决这个问题的几种方法:
我的是属于用了代理导致的问题....
1. 安装或更新 CA 证书
你可能需要在系统上安装或更新 CA 证书,这种情况常见于 macOS 或某些较旧的 Linux 系统。
对于 macOS 用户:
如果你是 macOS 用户,可以运行以下命令来安装或更新 CA 证书:
/Applications/Python\ 3.x/Install\ Certificates.command
请将 3.x
替换为你的 Python 版本。这段代码会确保你的 Python 安装配置了所需的证书。
对于 Linux 用户:
在 Linux 上,你可以使用包管理器来安装或更新 CA 证书。例如,在 Ubuntu 或 Debian 系统中运行:
sudo apt-get update sudo apt-get install ca-certificates sudo update-ca-certificates
对于 Windows 用户:
Windows 通常会自动处理证书,确保你的 Python 安装能正确访问 Windows 的证书存储。如果是自定义的 Python 安装,确保 Python 安装正确配置以访问证书。
2. 更新 pip
确保你的 pip
是最新版本,因为新版的 pip
可能更好地处理 SSL 证书问题。
你可以运行以下命令更新 pip
:
python -m pip install --upgrade pip
3. 禁用 SSL 验证(不推荐用于生产环境)
如果你只是做测试,或者在公司内部网络中,想暂时跳过 SSL 证书验证,可以禁用 SSL 验证。不过 不建议在生产环境中使用这种方式,因为它会降低安全性。
你可以使用 --trusted-host
参数来跳过证书验证:
pip install --trusted-host pypi.org --trusted-host pypi.python.org pyplot
这会告诉 pip
在连接 PyPI 时跳过 SSL 证书验证。
4. 设置 SSL_CERT_FILE 环境变量
如果你有自定义证书,或者在代理后面使用了自定义证书,可以设置 SSL_CERT_FILE
环境变量,指向你的证书文件路径。
例如,在 Linux 或 macOS 上:
export SSL_CERT_FILE=/path/to/your/certificate.crt
在 Windows 上:
set SSL_CERT_FILE=C:\path\to\your\certificate.crt
5. 检查代理配置
如果你在代理服务器后面,SSL 问题可能与代理的 SSL 证书配置有关。确保你的 pip
配置正确,能够处理代理的 SSL 证书。
你可以通过以下命令为 pip
设置代理:
pip install --proxy=http://user:password@proxyserver:port pyplot
另外,你也可以设置环境变量来配置代理:
export http_proxy=http://user:password@proxyserver:port export https_proxy=https://user:password@proxyserver:port
6. 尝试使用 PyPI 的替代镜像源
如果你仍然遇到问题,可以尝试使用 PyPI 的备用镜像源:
pip install --index-url https://pypi.org/simple/ --trusted-host pypi.org pyplot
可以都分别尝试一下吧,