(已解决)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
就会默认使用我们设置的镜像。
完结撒花
来源:音程