pip下载包出现SSLError
报错:
ERROR: Could not install packages due to an OSError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Max retries exceeded with url: /packages/8a/c2/ae7227e4b089c6a8210920db9d5ac59186b0a84eb1e6d96b9218916cdaf1/taming_transformers-0.0.1-py3-none-any.whl.metadata (Caused by SSLError(SSLEOFError(8, ‘[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)’)))
这个错误表明,在安装 Python 包时,pip 无法成功建立 HTTPS 连接,原因可能是与 SSL 的协商出现问题,导致连接被中断。
注意:接下来的解决方案由chatgpt给出!
解决方案
1 检查网络连接
确保网络连接正常且能够访问 Python 包服务器。
ping files.pythonhosted.org
如果无法 ping 通,可能需要检查是否有代理或防火墙阻止了访问。
2 更新 pip 和相关工具
老版本的 pip 和 setuptools 可能会导致 SSL 连接问题。尝试更新这些工具:
python -m pip install --upgrade pip setuptools wheel
我在尝试这一步的时候会报同样的错误,我怀疑就是网络连接出问题了,但是当时我是先尝试了第三步
3 使用 --trusted-host 暂时跳过 SSL 验证
如果问题仍然存在,可以暂时禁用 SSL 验证(注意:禁用 SSL 验证可能会带来安全风险,建议仅用于测试):
pip install taming-transformers --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org
我尝试了这个方法,成功下载了包。然后后续我将网络重连了一下,更新pip那步也可以了
注意:接下来的方法我没有尝试
4 确保系统的 SSL/TLS 工具更新
问题可能是因为系统的 OpenSSL 库版本过旧。您可以检查系统是否有 OpenSSL 更新,并安装它。
在 Linux:
sudo apt update
sudo apt install --upgrade openssl
在 macOS:
使用 Homebrew 更新 OpenSSL:
brew update
brew upgrade openssl
在 Windows:
更新 Python 自带的 OpenSSL 库。您可能需要重新安装 Python 并确保下载的是最新版本。
5 设置国内镜像源(推荐国内用户)
如果在国内,建议使用国内镜像源,如阿里云或清华大学镜像:
pip install taming-transformers -i https://pypi.tuna.tsinghua.edu.cn/simple
6 手动下载并安装
如果仍然失败,可以尝试手动下载 .whl 文件,并使用 pip 本地安装:
访问 Python Package Index 搜索 taming-transformers。
下载适合当前 Python 环境的 .whl 文件。
使用命令安装:
pip install path/to/yourfile.whl
如果按照上述方法仍未解决,可能需要进一步排查系统环境,或确认是否存在更高级别的网络限制。