pycharm中conda环境部署

时间:2021-09-26 10:38:07

问题

pycharm中部署了conda base环境,项目中 import sklearn 报错,缺少DLL模块 。
但是在Anaconda Prompt中 import sklearn 则成功。

发现

1 在Anaconda Prompt中(base)下用pip install安装库 ,pycharm中有相应库的增加;
而在(base)下用 conda install 安装库,pycharm无相应库增加;

2 (base)下 conda uninstall scikit-learn 后可以再 pip uninstall scikit-learn
说明存在两个scikit-learn包,conda installpip install 安装的是不同的地方?环境?包?

3 上网查到,此报错应该是sklearn依赖的包的版本与sklearn所需的版本不同(如过低),或与安装的python版本不对应,或与机子的位数不对应,等原因。解决方法是,卸掉所有sklearn依赖的包,然后安装sklearn(此时sklearn依赖的包也会同时安装,并且是配套版本)。

解决方法

综上,应该是conda install安装的sklearn是好的,pip install安装的sklearn与依赖包不配套。
解决方法1:把conda install到的这个环境给pycharm,然而并不会,因为至结束发现二者使用的解释器是同一个,应该是安到一个环境?
解决方法2:把pip install到的这个环境配好。
故上网查:sklearn依赖的包有:
scipy
numpy (numpy+mkl?)
matplotlib

再在Anaconda Prompt中(base)下,卸载以上三个包,及scikit-learn包,
pip install scikit-learn
在pycharm 中 import scikit-learn成功!

建议

1 下次项目,决定使用虚拟环境,即选择conda env下的python解释器
虽然首次安装包需要多安一些包,但是避免系统环境(base)的包的混乱是十分重要的。

2 conda 与 pip
conda是包管理工具,可以管理python及以外的包
而pip是python安装包的工具
再结合上述所说pycharm和pip安装的同步,
故今后安装python的包将统一使用pip install命令。

3 上述遗留的问题仍待探索。