(已解决)Solving environment: failed with initial frozen solve. Retrying with flexible solve.

背景

在安装一个新的包的时候报上述错误:

conda install pytorch-lightning -c conda-forge

我试过,安装中文分词的包,不会错误,

conda install jieba

也就是说,是上面那个包的问题。

原因

0.查找了一些资料,一些人说的解决方案都是什么鬼,大多适应性很小或者没用。

1.上述错误不是网速问题!!

上面的关键词是: environment。

我个人理解是:其实就是在说,你现在安装的包,其所依赖的环境有点难解决。什么叫难解决,比如现在这个包依赖很多包,然后这些被依赖的包版本都不满足要求,有的可能需要更新,有的可能你又安装过高了,需要安装更低版本,但是如果你安装更低版本,依赖这个包的一些包又会不舒服。

总之,这样就会很麻烦。

解决方案

我以前很不屑于建立虚拟环境,因为在不同的虚拟环境里面可能会有不同版本的包,这显然浪费我内存,本来我就一个包,任何项目都用这个,现在是多个项目多个虚拟环境,太浪费了。

但是现在恐怕不得不臣服了,对于上面这种情况,还是老老实实使用虚拟环境吧。大不了,学习完这个项目删除这个环境即可。

而且,也不一定就是多个项目多个虚拟环境。比如这次踩坑了,创建了这个虚拟环境,不要删除,此时我们有两个环境,下次又来了一个新项目,先看一下这两个环境能不能满足,如果可以满足,我们就不用创建新的虚拟环境了。

所以,从这个角度来说,虚拟环境也挺好的。


正文

我上面是安装pytorch-lightning报错了,所以我们创建一个虚拟环境,并且取一个好听的名字,从而我们以后就能够记住,如果新项目里面需要pytorch-lightning这个包,我们就使用这个环境。

conda create --name pytorch-lightning

在这里插入图片描述

然后我们如果要使用这个环境,那么我们就激活他,那么,当前就会默认使用这个环境。

conda activate pytorch-lightning
#conda deactivate
#上面这个会直接停用当前的虚拟环境,然后进入那个最一般的环境。

在这里插入图片描述

进入了这个环境之后,我们就可以开始安装我们的pytorch-lightning了。

conda install pytorch-lightning -c conda-forge

然后,再也不报错了,但是如我前面所说,虚拟环境中很多包因为版本问题都会重新安装过,呜呜呜,好几个G,显然有点浪费我们的空间了。

不过,前面说了,这种报错其实出现得不多,并不是每一个新项目都要安装虚拟环境,没准下次新项目这个虚拟环境还能用呢!

对了,温馨提示,由于上述好几个G,所以最好不用

-c conda-forge

而是使用国内镜像,国外的怕会很慢。怎么设置国内镜像可以参考我以前博客,然后只需要

conda install pytorch-lightning

就会默认使用我们设置的镜像。

解决方案2

上面这个解决方案最为稳妥,但是缺点是耗时太久,在网速很好的情况,你的操作以及业务熟练情况下,可能也要一两个小时,否则,很容易半天,一天。

最近,我发现了一条弯路,这个弯路虽然有潜在的风险,但是我觉得可以试一试。

那就是不要适用conda这个包管理器,而是适用pip,这个东西好像不会考虑包之间的兼容性问题。

有人问:用pip安装了这个包之后,由于存在版本不兼容问题,我们导入不会报错嘛?确实有可能,所以说存在风险。但是要知道,一个包通常有很多很多功能,很多很多函数以及类,这里面大部分可能都不存在版本问题,只是少数可能有问题。所以,当你使用这个包的某个函数的时候,还是有很大可能会成功的,不会报错的。


完结撒花

评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

音程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值