记一次conda遇到的坑

问题:不论安装什么包都会出现以下错误
Solving environment: failed

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/noarch/repodata.json.bz2>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.

If your current network has https://www.anaconda.com blocked, please file
a support request with your network engineering team.

ProxyError(MaxRetryError("HTTPSConnectionPool(host='repo.anaconda.com', port=443): Max retries exceeded with url: /pkgs/main/noarch/repodata.json.bz2 (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f79845787f0>: Failed to establish a new connection: [Errno 111] Connection refused')))"))


资料收集

这种问题在网上有好多解决方案,不幸的是对我都不生效。
我把我查到的方法总结一下:
http://www.lqkweb.com/blog.php?id=1
https://stackoverflow.com/questions/50305725/condahttperror-http-000-connection-failed-for-url-https-repo-continuum-io-pk
https://stackoverflow.com/questions/51266535/conda-returns-solving-environment-failed
https://github.com/pytorch/pytorch/issues/4207

解决思路

现在说说我的解决思路:
1.根据错误内容,安装失败的原因应该是这个网址 https://repo.anaconda.com/pkgs/main/noarch/repodata.json.bz2 请求失败。
2.所以我尝试用

wget https://repo.anaconda.com/pkgs/main/noarch/repodata.json.bz2

手动下载这个包,结果出现以下错误。

-2018-12-12 18:29:18--  https://repo.anaconda.com/pkgs/main/noarch/repodata.json.bz2
Connecting to 127.0.0.1:33473... failed: Connection refused.

那么应该寻找失败的原因,127.0.0.1表示的是本机,应该不会有什么问题,那么会不会是因为端口33473被占用的原因。
3.用netstat -ntpl查看本地端口的使用情况

netstat -ntpl
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:57837         0.0.0.0:*               LISTEN      2165/python     
tcp        0      0 127.0.0.1:37138         0.0.0.0:*               LISTEN      15851/python    
tcp        0      0 127.0.0.1:45331         0.0.0.0:*               LISTEN      2050/python     
tcp        0      0 127.0.0.1:37492         0.0.0.0:*               LISTEN      2165/python     
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:53526         0.0.0.0:*               LISTEN      15851/python    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:45527         0.0.0.0:*               LISTEN      2165/python     
tcp        0      0 127.0.0.1:45655         0.0.0.0:*               LISTEN      2165/python     
tcp        0      0 127.0.0.1:36887         0.0.0.0:*               LISTEN      2050/python     
tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN      30648/python    
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:43001         0.0.0.0:*               LISTEN      15851/python    
tcp        0      0 127.0.0.1:59033         0.0.0.0:*               LISTEN      2050/python     
tcp        0      0 127.0.0.1:34684         0.0.0.0:*               LISTEN      2165/python     
tcp        0      0 127.0.0.1:43869         0.0.0.0:*               LISTEN      2165/python     
tcp        0      0 127.0.0.1:45631         0.0.0.0:*               LISTEN      2050/python     
tcp        0      0 127.0.0.1:58368         0.0.0.0:*               LISTEN      15851/python    
tcp        0      0 127.0.0.1:34498         0.0.0.0:*               LISTEN      2050/python     
tcp        0      0 127.0.0.1:42147         0.0.0.0:*               LISTEN      15851/python    
tcp        0      0 127.0.0.1:34211         0.0.0.0:*               LISTEN      4448/pgAdmin4   
tcp        0      0 127.0.0.1:51367         0.0.0.0:*               LISTEN      2050/python     
tcp        0      0 127.0.0.1:51338         0.0.0.0:*               LISTEN      15851/python    
tcp6       0      0 127.0.0.1:8079          :::*                    LISTEN      28374/java      
tcp6       0      0 :::8080                 :::*                    LISTEN      28374/java      
tcp6       0      0 ::1:631                 :::*                    LISTEN      -      

发现33473并没有被服务占用。
4.查看代理服务

export | grep -i proxy
HTTPS_PROXY=http://127.0.0.1:33473/
HTTP_PROXY=http://127.0.0.1:33473/
NO_PROXY=localhost,127.0.0.0/8,::1
http_proxy=http://127.0.0.1:33473/
https_proxy=http://127.0.0.1:33473/
no_proxy=localhost,127.0.0.0/8,::1

终于找到原因了,33473端口被代理服务占用了,所以接下来要做的就是关闭这些代理。
5. 使用unset关闭所有占用33474端口的代理
比如unset HTTPS_PROXY
注意,代理名称区分大小写.

——————————————————————————
接下来,install终于没问题了,

references

https://www.imooc.com/article/37905

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
conda 是一个开源的包管理器和环境管理工具,用于Python和其他语言的软件包安装、更新和管理。创建 conda 镜像的过程通常是为了方便其他人或组织在不同平台上快速部署预配置的环境,尤其是那些包含特定依赖项的环境。 要创建一个 conda 镜像,你可以按照以下步骤操作: 1. **创建环境**: 使用 `conda create` 命令创建一个新的 conda 环境,并安装你需要的所有软件包。例如: ``` conda create --name myenv python=3.8 numpy pandas ``` 2. **激活环境**: 在创建环境后,激活它以便将包安装到该环境中: ``` conda activate myenv ``` 3. **保存环境文件**: 使用 `conda env export` 将当前环境信息保存为 YAML 文件,这将是镜像的基础: ``` conda env export > environment.yml ``` 4. **构建镜像**: 使用 Docker 或其他容器工具(如 JupyterHub 的 `miniconda-notebook-image`)来基于这个环境文件创建镜像。如果你使用 Docker,可以这样做(假设你已经安装了 Docker): ``` docker build -t my_conda_image -f Dockerfile . ``` 在 Dockerfile 中,可能会引用 `environment.yml` 并安装 conda。 5. **Dockerfile 示例** (简化版): ```Dockerfile FROM continuumio/miniconda3 COPY environment.yml /tmp/ RUN conda env create --file /tmp/environment.yml ENV PATH="/opt/conda/envs/myenv/bin:$PATH" CMD ["/bin/bash"] ``` 6. **运行镜像**: 完成构建后,你可以通过运行 `docker run` 命令来启动你的镜像。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

裘千仞不会水上漂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值