Anaconda | 创建 python3.8.5 环境报错:ERROR conda.core.link:_execute(502): An error occurred


Step1:完整报错

Executing transaction: failed

ERROR conda.core.link:_execute(502): An error occurred while installing package
'conda-forge::setuptools-65.5.1-pyhd8ed1ab_0'.

FileNotFoundError(2, '系统找不到指定的文件。', None, 2, None)


Step2:问题描述

① 跟着李沐老师创建 d2l-zh 环境:

conda create -n d2l-zh python=3.8.5 pip

说明:原视频仅设置为 python=3.8,我为了避免麻烦,进一步指明为 python=3.8.5,与老师的 Python 版本保持一致。



② 运行命令后 Anaconda 给出了将要安装的包的版本:

在这里插入图片描述



③ 确认继续后发生报错:

在这里插入图片描述
大意是指:在安装 ‘conda-forge::setuptools-65.5.1-pyhd8ed1ab_0’ 时发生错误,问题在于 ‘系统找不到指定的文件。’

也就是说,Anaconda 在 conda-forge 源中找不到待安装的包 setuptools-65.5.1-pyhd8ed1ab_0,因此我们很自然地想到是镜像源的问题。



Step3:分析问题

① 此前我配置了清华源,.condarc 配置文件如下:

channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
show_channel_urls: true
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

根据上述配置:

conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

可以看出 ‘conda-forge’ 源其实就是一个清华源。而在 ‘conda-forge’ 源中找不到待安装的包,其实就是在 ‘http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud’ 中找不到待安装的包。



② 查看 清华源 (请点击链接) 中对应于 python3.8.5 且可以安装的 setuptools 包,不需要点击下载,记住它的版本号即可:

在这里插入图片描述

不难看出,有很多个版本的 setuptools 可用,我只是挑了一个有眼缘的。



Step4:解决问题

① 删除此前创建失败的 d2l-zh 环境:

conda remove -n d2l-zh --all

Anaconda 会说没有该环境:

在这里插入图片描述

请不要被它骗了,它其实并没有把文件夹删干净;不删干净会导致下次创建环境报错!来到 Anaconda 的安装目录,进入其中的 envs 目录,手动删除 d2l-zh 文件夹即可:

在这里插入图片描述



② 在指明版本号的前提下重新创建 d2l-zh 环境:

conda create -n d2l-zh python=3.8.5 pip setuptools=49.6.0 certifi=2020.6.20

说明:之所以指定 certifi 的版本号,是因为它也遇到了和 setuptools 一样的报错。由于 Anaconda 不会一次性把错误报完,因此我们可能会重复创建、删除、创建的操作 😇

环境创建成功:

在这里插入图片描述




完结撒花 🥳🥳🥳

昨天搞了一晚上都没有解决这个问题,甚至试图通过 environment.yml 文件来创建环境,结果又遇到了新的报错。今天复盘了原始报错结果、分析了镜像源配置文件,才发现是清华源不给力的问题。



  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值