还是因为在做数据分析的项目,要用到imbalanced-learn(imblearn)这个包来处理样本不平衡的问题,本以为应该只是简单的在anaconda上面安装就可以使用的,谁知发生了一系列坑坑的事情!
(也正好扫了我的知识盲点😂)好了,开启正文。

首先一开始是在anaconda里面安装的,使用的命令是:

conda install -c glemaitre imbalanced-learn

结果出现了满屏的这个:

这一下子把我看的满脸的问号?这是什么情况?sqlite路径冲突? 于是在网上搜了一下并没有类似的解决办法,又跑到官方文档打开看他的安装方法:

于是我再次用官方的anaconda的安装方法去安装,结果还是出现同样的问题。。。琢磨着是不是我的anaconda有问题?于是打算用第一个pip的方法重新安装!发现pip的安装还是报同样的错!此刻内心是这样的:

想着既然上面两个方法都不行,我就只有用最后那个git的安装方法试试看:

不过git clone的方法有点慢,等了大概二十分钟才安好:



PS 一定要注意:pip install 后面有个空格和点的!!!漏了就会报错。

然后我再次回到jupyter notebook里面运行那段程序,满心欢喜以为应该没问题了,结果还是抛出一个bug:

这次不是没有imblearn这个模块的问题,但是它里面的另一个模块又缺失了。。。

就在我郁闷难解的时候,我随手网上翻了一下imbalanced-learn的官方文档,发现上面的几行字:

于是乎,我灵光一闪!似乎抓到了问题所在,难道是我的这几个包其中某个版本不满足才导致的?

接着我赶紧查了一下自己的conda list里面这几个包的版本,结果还真的让我找到了其中scikit-learn这个包的版本还真的不满足!!!终于找到了问题所在

于是就去升级scikit-learn这个包,谁知道我用conda升级的时候,速度奇慢! 半天都在那儿打圈圈。。。搜索了一下解决办法:
都说把默认的Anaconda的Channels换成国内的清华镜像或者豆瓣/中科院的镜像会快很多!

这里要换Anaconda的Channels有两种方法:

  • 第一种就是直接在Anaconda 的Navigator里面修改:

    点开后里面有个Channels按钮,点击就可以再右上角添加你想要的下载渠道:


    OK,这样就成功修改了他的默认Channels。

  • 第二种方法就是去一个叫 .condarc 的文件里面修改!这个文件一般默认是在你的用户名的文件夹下面,一开始是没有生成的,需要你执行一个查询的命令才会生成该文件:

conda config --show

然后就可以看到该文件(注意路径):

然后用记事本打开文件,就可以添加你要的Channels:

PS:修改完了以后记得删除默认的defaults,据说这样会更快!
然后再次执行那个查询命令确认你的Channels修改成功:


可以看出安装新的Channels成功了,这次我们再次回到Anaconda安装scikit-learn(因为中途升级失败后我就把它给删除了,打算重装):


好了,这次安装imblearn的前提条件都满足了,可以重新安装它,有点兴奋的搓搓手,好像离成功只有一步之遥了!当我输完那段命令后期待着不到一分钟就突然又出现了一个新的问题:

Solving enviroment: failed with initial frozen solve.Retrying with flexible solve. 纳尼??这又是什么鬼?
欲知如何解决,请听下回分解!