在安装Python包的时候,出现了下面的错误:
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Read timed out. (read timeout=15)")': /simple/sigpy/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001B3C207F490>, 'Connection to pypi.tuna.tsinghua.edu.cn timed out. (connect timeout=15)')': /simple/sigpy/
然后紧跟着:
报错类型为:
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Read timed out.
这个错误表明 pip 在尝试从清华镜像源(pypi.tuna.tsinghua.edu.cn
)下载第三方包时连接超时。以下是几种解决方法:(以安装numba包为例)
方法 1:更换 pip 镜像源
清华源可能暂时不可用,可以尝试其他国内镜像源(如阿里云、豆瓣等):
pip install numba -i https://mirrors.aliyun.com/pypi/simple/
大概率能顺利成功:
或使用官方源(但速度可能较慢):
pip install numba -i https://pypi.org/simple
方法 2:增加超时时间
如果网络延迟较高,可以延长超时时间:
pip --default-timeout=100 install numba
方法 3:检查网络环境
- 代理问题:如果你使用了 VPN 或代理,尝试关闭它们。
- 防火墙限制:确保防火墙或安全软件没有阻止 pip 访问网络。
- DNS 问题:尝试更换 DNS(如
8.8.8.8
或114.114.114.114
)。
方法 4:临时关闭 IPv6
某些网络环境下 IPv6 可能导致超时,可以尝试禁用:
pip install --prefer-ipv4 numba
方法 5:手动下载并安装
如果问题持续,可以手动下载 wheel 文件安装:
- 访问 PyPI 官网 下载对应版本的
.whl
文件。 - 通过本地安装:
pip install numba-xxx.whl
方法 6:更新 pip 和工具链
确保 pip 和 setuptools 是最新版:
python -m pip install --upgrade pip setuptools
总结建议
优先尝试 更换镜像源(如阿里云)或 增加超时时间。如果问题仍然存在,可能是网络环境限制,需检查代理或防火墙设置。