前段时间回归到Win服后发现conda使用起来有种便秘的感觉,安装各种包时快时慢,最快也没过30K/s,还时常出现无法连接错误。印象中linux上倒是挺快的,那到底是什么原因导致安装缓慢到不能忍呢,毕竟网络还是那个网络。。。
一开始以为是网的问题,但使用aria2下载测试下载可满速(最高下载速度设置在3M/s),本地网络问题排除。那只能是conda源的问题了,折腾吧:
- 安装XX-Net,等待代理可用
- VScode中设置内建终端使用代理并重启应用
{
"terminal.integrated.shell.windows": "C:\Windows\System32\cmd.exe",
"terminal.integrated.env.windows": {
"HTTP_PROXY": "http://127.0.0.1:8087",
"HTTPS_PROXY": ""}
}
应用重启后首先在内建终端中输入set查看HTTP_PROXY是否设置成功,(开发者选项输入process.env查看的是当前工作环境中的变量,非终端环境变量,有区别),然后再尝试安装 conda install pkgs。实验发现conda安装内容时是从https://conda.anaconda.org下载数据,而xxnet提供的是http代理不能代理发往conda.anaconda.org的https请求(这点从xxnet日志中也得以应正),所以下载内容速度上并没有改观,还是会出现CondaHTTPError: HTTP None None for url <https://conda.anaconda.org 错误。那让https请求走http代理好了,设置HTTPS_PROXY同HTTP_PROXY,继续重启程序--安装,这次又报证书错误。。。。(一万只***走过)。
Google了下,发现原来conda的源服务器是可以修改的。conda当前的源设置在$HOME/.condarc中,可通过文本查看器查看或者使用命令>conda config --show-sources查看。conda源操作的基本命令如下:
conda config --show-sources #查看当前使用源
conda config --remove channels 源名称或链接 #删除指定源
conda config --add channels 源名称或链接 #添加指定源
既然直接访问不行,代理不行,那不用官方源总可以了吧(逼死强迫症)。清华开源软件镜像站维护着许多开源项目的镜像,例如Ubuntu、tensorflow以及以前提到的termux,不出意外该网站也维护着conda的项目资源,具体移步这里查看。应知乎网友建议我们需要为conda添加下面两个清华源分支:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
添加后的源类似于下图:
conda源示例-来自知乎
再来一次安装,速度终于上来了
感人
网友评论