问题描述
创建虚拟环境时,出现ProxyError报错。具体报错如下所示
问题分析
这是由于conda检测到代理配置存在问题。
解决步骤
步骤1:检查环境变量
echo $http_proxy
echo $https_proxy
env | grep -i proxy
- 如果发现不正确的代理地址(例如无法访问的主机或者端口),可以先取消设置:
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
- 或者在.bashrc、.zshrc中注释掉对应的proxy设置,然后重启终端。
接着再次尝试conda create,如果问题解决,说明问题出在环境变量配置。
步骤2:检查.netrc文件(如果存在)
1.查看是否存在~/.netrc文件:
ls -a ~ | grep .netrc
如果存在,打开检查是否有配置错误,尤其是proxy相关的登录信息。可以临时备份并移除重试。
2.通过编辑器查看:
nano ~/.netrc
检查内容是否含有与Conda连接相关的代理字段,如machine、login、password。对于Conda通常可以删除.netrc(备份后),然后重试创建环境。
3.创建或编辑~/.condarc文件,单独配置Conda的代理
执行以下命令来设置:
conda config --set proxy_servers.http http://127.0.0.1:8889
conda config --set proxy_servers.https http://127.0.0.1:8889
conda config --set ssl_verify false
这样.condarc(位于~/.condarc或对应配置目录)会自动生成并添加如下内容:
proxy_servers:
http: http://127.0.0.1:8889
https: http://127.0.0.1:8889
ssl_verify: false
4.手动打开与编辑.condarc
如果想直接打开并查看内容:
nano ~/.condarc
确认内容为:
proxy_servers:
http: http://127.0.0.1:8889
https: http://127.0.0.1:8889
ssl_verify: false
编辑完成后Ctrl+o保存,Ctrl+X退出。
5.重启与清楚环境变量
重新加载你的shell环境:
source ~/.bashrc # 或 ~/.zshrc
确保环境变量与.condarc设置不冲突。删除全局代理变量也有必要(可以保留通过.condarc的方式):
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
6.测试conda设置是否生效
conda config --show-sources
确保终端中显示已加载你的.condarc配置,并能看到proxy_serves条目。
随后尝试:
conda create -n test_env python=3.8
若配置生效,应正常下载环境。