当前位置:首页 >> 脚本专栏

python3.6中anaconda安装sklearn踩坑实录

首先我是用pycharm完成的,要确定命令行和界面里是同一个环境。

如果不确定可以设置再add在新增加的环境里看现在是哪个环境,只要选择已有的环境,虽然project interpreter里面好像新增了个(2),但是包可以直接移植过来。

python3.6中anaconda安装sklearn踩坑实录

python3.6中anaconda安装sklearn踩坑实录

然后可以检查一下自己现在的Python版本和conda版本和解释器里的一样不。

conda是在终端输入,conda info -e,第一个星号就是自己的版本。

Python是在Python终端里面输入,import syssys.executable查看当前Python解释器的版本。

因为想排除镜像源的问题,所以我直接打开了C:\Users\你的用户名下生成.condarc文件,把全部镜像源直接删掉了。不加任何内容就是默认的源。

注意默认源应该是conda有的包都有,所以如果这时候说环境检测不到,那只能直接pip安装了!比如这个:pip install neurolab

看到很多说法是直接conda config --remove-key channels,但是我这样会报错,所以直接找了配置文件删改。

然后在这里声明

没有sklearn这个包,而是整个scikit-learn大包

因此根据官网直接:conda install scikit-learn
按道理conda会直接配置好环境,但是当我直接from sklearn import preprocessing的时候,发现出现了错误,OSError: [WinError 126] 找不到指定的模块
行吧我以为是安装过程哪里出现了问题,打算直接用conda更新包更新到最新的版本conda update scikit-learn 这更新不要紧,却更新出了问题。
因此接下来一部分是给已经更新出了问题的人看的。没用问题的直接滑到最后。

python3.6中anaconda安装sklearn踩坑实录

也就是很多提示要求我删除这些文件,我一一找到并删掉重启电脑了。

WARNING conda.gateways.disk.delete:unlink_or_rename_to_trash(140):
Could not remove or rename
D:\anaconda3\Library\include\qt\QtWidgets\qtoolbar.h. c~. Please
remove this file manually (you may need to reboot to free file
handles)

然后遇到了这个问题:valueError: failed to parse CPython sys.version,必定报错在第一个import文件处,根据这个博客定位了错误:注意要ctrlB才能进入第二个页面去增加正则表达式过滤掉"|Anaconda xxx|"等信息。

python3.6中anaconda安装sklearn踩坑实录

但是还是不可以啊。一切仿佛回到了原点。并且说[WinError 126]错误基本都是dll问题,但是我仔细看了他们的错误发现,他们

之所以是dll的问题是因为报错信息的中间有出现dll的调用,而我的并没有。

python3.6中anaconda安装sklearn踩坑实录

因此我并不是任何dll的问题!
然后我终于在这里找到了问题的答案!最开始是需要sklearn的包,但是后面是到引用scipy的包时出现的问题!

python3.6中anaconda安装sklearn踩坑实录

因此根据结论我对scipy进行降级处理:pip install scipy==1.4.1,终于跑了起来!

噢天哪我真的不知道为什么conda没有帮助我下好正确的版本!!难道是这个是基础环境和之前爬虫的时候出现了环境的冲突吗!