linux中Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='repo.anaconda.com', port=443): Read timed out. (read timeout=60.0)")': /pkgs/r/tos.json
时间: 2025-03-15 22:11:45 浏览: 73
Linux Anaconda 仓库连接超时问题分析
在处理 Linux 中 Anaconda 仓库连接超时时,可以尝试以下方法来解决问题:
方法一:修改 .condarc
配置文件
通过配置 .condarc
文件中的 channels
和代理设置,能够有效改善连接速度。如果当前默认镜像源较慢,则可以通过更换国内镜像源的方式优化访问效率。
以下是具体操作命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
上述命令会将默认的 Anaconda 渠道替换为清华大学开源软件镜像站[^1]。
方法二:临时指定镜像源安装包
当需要快速验证某特定包是否能正常下载并安装时,可以直接在 conda 命令中加入 -c
参数指向新的镜像地址。
例如:
conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main numpy
此方式无需永久更改全局配置即可完成单次任务需求。
方法三:调整网络请求参数
对于因网络状况引起的频繁断线情况,还可以适当增加重试次数或者延长等待时间阈值。编辑环境变量如下所示可实现这一目标:
export CONDA_REMOTE_READ_TIMEOUT_SECS=60
export CONDA_REMOTE_CONNECT_TIMEOUT_SECS=30
这里分别设置了读取超时时间和建立连接所需的最大秒数为60秒与30秒。
方法四:检查本地DNS解析服务状态
有时 DNS 解析失败也会造成类似的错误提示信息。因此建议确认本机 /etc/resolv.conf
文件里是否有合理有效的 nameserver 记录存在;如果没有的话则手动添加公共 dns 如 Google 的 8.8.8.8 或阿里云提供的 223.5.5.5 即可恢复正常工作流程。
提供一段 Python 脚本来测试不同镜像站点的速度差异
下面给出了一段简单的 python 测试脚本用于比较多个可用镜像之间的延迟表现从而帮助选择最佳选项之一作为长期解决方案的一部分考虑因素之一。
import requests
from time import perf_counter
urls = [
'https://repo.anaconda.com',
'https://mirror.tuna.tsinghua.edu.cn/anaconda/',
'https://mirrors.aliyun.com/anaconda/'
]
def measure_latency(url):
start_time = perf_counter()
response = requests.get(url, stream=True)
end_time = perf_counter()
elapsed_ms = (end_time - start_time)*1000
status_code = response.status_code
return {'url': url,'status': status_code ,'latency(ms)': round(elapsed_ms)}
results = list(map(measure_latency, urls))
for result in results:
print(f"{result['url']} -> Status:{result['status']}, Latency:{result['latency(ms)']} ms")
该程序利用 requests
库向各个候选服务器发起 HTTP 请求,并记录往返耗时以便直观对比性能优劣程度。
相关推荐


















