ModuleNotFoundError:没有名为' sklearn'

时间:2017-09-08 09:56:08

标签: python anaconda

我想导入sklearn,但显然没有模块:

ModuleNotFoundError: No module named 'sklearn'

我正在使用Anaconda和Python 3.6.1;我到处检查过,但仍无法找到答案。

当我使用命令时: conda install scikit-learn这不仅仅起作用吗?
anaconda在哪里安装包?

我正在检查我的python库中的框架,而且sklearn只有numpy和scipy。

请帮助,我是新手使用python包,尤其是通过anaconda。

13 个答案:

答案 0 :(得分:18)

即使您使用 anaconda ,也可以使用pip来安装软件包:

pip install -U scikit-learn scipy matplotlib

这应该适用于安装软件包。

对于 Python 3.x ,只需使用pip3

pip3 install -U scikit-learn scipy matplotlib

答案 1 :(得分:7)

我做了以下事情:

import sys
!{sys.executable} -m pip install sklearn

答案 2 :(得分:6)


简要介绍


在使用Anaconda时,人们需要意识到自己正在工作的环境。

然后,在Anaconda Prompt中,需要使用以下代码:

conda $command -n $ENVIRONMENT_NAME $IDE/package/module

$ command -我打算使用的命令(consult documentation for general commands

$环境名称-您的环境名称(如果在根目录中运行, conda $command $IDE/package/module就足够了

$ IDE / package / module -IDE或软件包或模块的名称


解决方案


如果要在根目录中安装它,并且遵循requirements-(Python(> = 2.7或> = 3.4),NumPy(> = 1.8.2),SciPy(> = 0.13.3) )。)-以下将解决问题:

conda install scikit-learn

假设某人正在环境中工作,名称为 ML

然后以下将解决一个人的问题:

conda install -n ML scikit-learn

注意:如果需要安装/更新软件包,其逻辑与简介中所述的相同。如果您需要有关Anaconda Packages, check the documentation的更多信息。

答案 3 :(得分:4)

如果您将Ubuntu 18.04或更高版本与python3.xxx结合使用,请尝试使用此命令

$ sudo apt install python3-sklearn 

然后尝试您的命令。希望它能工作

答案 4 :(得分:2)

anaconda中sklearn的另一个名称是scikit-learn。只需打开anaconda导航器,转到环境,选择您的环境,例如tensorflow或您要使用的任何东西,在已卸载软件包的列表中搜索scikit_learn,应用它,然后就可以将sklearn导入jupyter中了。 >

答案 5 :(得分:1)

我尝试了很多事情,但最后,包括使用自动化工具进行卸载。因此,我已经手动卸载了scikit-learn。

sudo rm -R /home/ubuntu/.local/lib/python3.6/site-packages/sklearn
sudo rm -R /home/ubuntu/.local/lib/python3.6/site-packages/scikit_learn-0.20.0-py3.6.egg-info

然后使用pip重新安装

sudo pip3.6 install -U scikit-learn

希望可以帮助别人!

答案 6 :(得分:1)

已解决:

以上没有帮助。然后我只是从 Jypyter-lab 中安装了 sklearn,即使 sklearn 0.0 显示在“pip list”中:

!pip install sklearn
import sklearn

我后来了解到,在我的情况下,pip 将软件包安装在与 Jupyter 不同的文件夹中。这可以通过执行看到:

import sys
print(sys.path)

一次来自 Jupyter_lab notebook,一次来自命令行使用“py notebook.py”。

在我的例子中,Jupyter 的路径列表是 'anaconda' 的子文件夹,而 Python 列表是 c:\users[username] 的子文件夹...

答案 7 :(得分:0)

这发生在我身上,我没有运气就尝试了所有可能的解决方案!

最后,我意识到问题出在Jupyter笔记本环境,而不是sklearn!

我通过在与sklearn相同的环境中重新安装Jupyter来解决了这个问题

命令是:conda install -c anaconda ipython。完成...

答案 8 :(得分:0)

原因

Conda和pip在〜/ anaconda3 / envs / $ ENV / lib / python3.7 / site-packages下安装scikit-learn,但是Jupyter笔记本会在〜/ anaconda3 / lib / python3.7 / site-下查找该软件包包。

因此,即使将环境指定为conda,它也不起作用。

conda install -n $ENV scikit-learn # Does not work

解决方案

pip 3将软件包安装在〜/ anaconda3 / lib / python3.7 / site-packages下。

验证

在pip3之后,在Jupyter笔记本中。

import sklearn
sklearn.__file__
  

〜/ anaconda3 / lib / python3.7 / site-packages / sklearn / init .py'

答案 9 :(得分:0)

安装这些== >> pip install -U scikit-learn scipy matplotlib 如果仍然出现相同的错误, 确保您的合法陈述正确无误。我在写合奏时打了misike,所以,(检查拼写) 它的 应该是>>>从sklearn.ensemble导入RandomForestClassifier

答案 10 :(得分:0)

我和作者有同样的问题,无论是否使用Anaconda,无论使用什么Python版本,都遇到了这个问题。每个人的环境都不同,但是我自己解决了这个问题之后,我认为在某些情况下,这可能是由于安装了多个版本的Python所致。每个已安装的Python版本都有自己的\ Lib \ site-packages \文件夹,其中可以包含该Python版本的唯一模块集,并且IDE会在其中查找没有scikit-learn的文件夹路径。

尝试解决此问题的一种方法:您可以清除系统中的所有其他Python版本及其缓存/临时文件/系统变量,然后在任何地方仅安装一个Python版本。然后安装依赖项Numpy和Scipy,最后安装Scikit-learn。

更详细的步骤:

  1. 卸载所有Python版本及其启动器(例如,从Windows的“控制面板”中),但要保留的版本除外。删除Python目录中的所有旧Python版本文件夹-卸载不会删除所有文件。
  2. 从操作系统的环境变量中删除其他Python版本(在“系统变量”和“用户变量”部分下)
  3. 清除临时文件。例如,对于Windows,删除所有AppData Temp缓存文件(在C:\ Users \ YourUserName \ AppData \ Local \ Temp中)。此外,您还可以清除其他临时文件的Windows磁盘,然后重新启动。
  4. 如果您的IDE支持,请在“设置”中创建一个新的虚拟环境,然后将您唯一安装的Python版本设置为解释器。
  5. 在您的IDE中,首先从模块列表中安装依赖项Scipy和Numpy,然后安装Scikit-Learn。

正如其他人所建议的那样,关键是要确保您的环境设置正确,所有内容都指向Sklearn软件包所在的计算机上正确的库文件夹。有几种方法可以解决此问题。我的方法比较激进,但事实证明,我的系统上安装了非常混乱的Python,因此必须重新开始。

答案 11 :(得分:0)

使用 Anaconda-navigator UI 环境

运行 Anaconda-navigator 时:

  • 选择左侧的“环境”选项卡并创建一个新环境(例如 ML - 请参阅上面的 Gonçalo Peres 回答,我创建了一个名为“CourseraML”的环境)。

  • 设置 Python 3.7 版(适用于 Coursera 课程Python 中的应用机器学习)。还包括 R。

  • 然后使用“未安装”下拉菜单项查找要安装的模块。在搜索栏中搜索所需的每个模块并选择。 sklearnscikit-learn 的一部分。选择它并安装(它应该找到所有相关的依赖项)。应用机器学习课程所需的模块:seaborn、numpy、scikit-learn、pandas、matplotlib

  • 您需要重新启动 Jupyter Notebook 并重新打开您的文件。

以上命令行版本:

conda install -n CourseraML seaborn scikit-learn pandas numpy matplotlib graphviz

答案 12 :(得分:0)

原因 -您的 jupyter 笔记本可能正在从 另一个位置(路径)而不是来自 conda 或 pip 的库。

我的问题 就我而言,我的 jupyter notebook 正在为 snap manager 导入库。因为,我使用 snap 而不是其他方式安装 jupyter。

您可以使用代码检查其他库在 jupyter 中的导入位置:

import cv2 as cv
print(cv.__file__)

解决方案 所以,我卸载了 jupyter notebook,然后使用 conda 安装 notebook。

 sudo snap remove jupyter

conda install -c conda-forge notebook