python3.6中anaconda安装sklearn踩坑实录
首先我是用pycharm完成的,要确定命令行和界面里是同一个环境。
如果不确定可以设置再add在新增加的环境里看现在是哪个环境,只要选择已有的环境,虽然project interpreter里面好像新增了个(2),但是包可以直接移植过来。
然后可以检查一下自己现在的Python版本和conda版本和解释器里的一样不。
conda是在终端输入,conda info -e
,第一个星号就是自己的版本。
Python是在Python终端里面输入,import sys
和sys.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
因此接下来一部分是给已经更新出了问题的人看的。没用问题的直接滑到最后。
也就是很多提示要求我删除这些文件,我一一找到并删掉重启电脑了。
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|"等信息。
但是还是不可以啊。一切仿佛回到了原点。并且说[WinError 126]错误基本都是dll问题,但是我仔细看了他们的错误发现,他们
之所以是dll的问题是因为报错信息的中间有出现dll的调用,而我的并没有。
因此我并不是任何dll的问题!
然后我终于在这里找到了问题的答案!最开始是需要sklearn的包,但是后面是到引用scipy的包时出现的问题!
因此根据结论我对scipy进行降级处理:pip install scipy==1.4.1
,终于跑了起来!
噢天哪我真的不知道为什么conda没有帮助我下好正确的版本!!难道是这个是基础环境和之前爬虫的时候出现了环境的冲突吗!
下一篇:2021年的Python 时间轴和即将推出的功能详解