解决创建conda环境时Solving environment: failed 和 ResolvePackageNotFound 的错误

时间:2023-10-02 22:34:35来源:互联网

下面小编就为大家分享一篇解决创建conda环境时Solving environment: failed 和 ResolvePackageNotFound 的错误,具有很好的参考价值,希望对大家有所帮助。

文章目录

问题描述问题分析解决方法参考资料

问题描述

今天在调试论文的代码时,需要创建anaconda环境,按照GitHub上给的指定进行环境的创建。却一直报Solving environment: failed 和 ResolvePackageNotFound的错误。如下图所示: 在这里插入图片描述

1696257010547216.png

问题分析

期初以为时镜像源的问题,又重新添加了进行源,还是没有解决。网上的好多资料都是通过添加镜像源去解决,然而并不能解决我的这个问题。还有说通过

conda update -n base conda

去升级conda base,也进行了尝试。然而升级超级慢不说,也没有解决我的问题。 最后通过对问题的进一步定位,又查了好久的资料,终于在一篇博客中找到了解决方法。

原来这是因为用那条命令(conda env create -f environment.yml )进行创建环境时,所用的配置文件里是带有配置信息的。环境配置文件是在别的机器上导出的,文件里的软件包是按照导出文件的机器配置的,因此导出的时候,把这些包的详细信息也导了出来,即第二个等号后面跟着的信息,当我们按照这个文件创建环境时,conda就会根据我们机器的配置信息,按照配置文件里包的详细信息,去找这个包,那当然找不到,结果发现“查无此包”,因此也就会报上面的错误。

解决方法

上面找到了问题的所在之处,解决起来就很简单了,只需要在配置文件 environment.yml 中将包的详细信息删除,也就是第二个等号后面的内容。 原先的 environment.yml 是下图这样

1696257121293716.png

将dependencies中的包,第二个等号后面的内容全部删除,如下图所示:

1696257190618803.png

修改完之后,进行保存。再次创建环境。 注意:此时可能还是会有部分包报 ResolvePackageNotFound 的错误,这个可以先将这些在配置文件 environment.yml 里删除,再创建环境,此时肯定是可以创建成功的。等运行代码时,哪里用到了这些包,再用 pip 进行单独安装。 在这里插入图片描述

1696257225411497.png

本站部分内容转载自互联网,如果有网站内容侵犯了您的权益,可直接联系我们删除,感谢支持!