ModuleNotFoundError:没有名为"sklearn"的模块



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

ModuleNotFoundError: No module named 'sklearn'

我正在使用蟒蛇和Python 3.6.1;我到处检查过,但仍然找不到答案。

当我使用命令时:conda install scikit-learn这不应该只是工作吗?
蟒蛇在哪里安装软件包?

我正在检查我的python库中的框架,没有关于sklearn的东西,只有numpy和scipy。

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

你可以只使用pip来安装软件包,即使你使用的是anaconda

pip install -U scikit-learn scipy matplotlib

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

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

pip3 install -U scikit-learn scipy matplotlib

将留下以下两个选项,可能有助于解决问题:

  1. 使用conda

  2. 使用pip

人们可能需要考虑最后的注释,特别是在诉诸第二个选项之前。

<小时 />

选项 1

如果想在根目录中安装它并遵循要求 - (Python(>= 2.7>= 3.4),NumPy(>= 1.8.2),SciPy(>= 0.13.3).-以下应该可以解决问题

conda install scikit-learn

或者,如此处所述,可以指定通道如下

conda install -c anaconda scikit-learn

假设一个人正在名为ML的环境中工作。

那么以下应该解决一个人的问题:

conda install -n ML scikit-learn
# or
conda install -n ML -c anaconda scikit-learn
<小时 />

选项 2

如果上述方法不起作用,在 Anaconda Prompt 上也可以使用 pip(这是 pip 安装 scikit-learn 的方法),所以以下内容可能会有所帮助

pip install scikit-learn

但是,在继续之前,请考虑下面的最后一条注意事项。

<小时 />

注释:

  • 使用Anaconda时,需要了解自己正在工作的环境。

    然后,在Anaconda Prompt中,需要运行以下内容

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

    $command- 打算使用的命令(有关常规命令,请参阅文档)

    $ENVIRONMENT 名称- 一个人的环境的名称(如果一个人在根目录中工作,conda $command $IDE/package/module就够了)

    $IDE/包/模块- IDE 或包或模块的名称

  • 如果需要安装/更新软件包,逻辑与简介中提到的相同。如果您需要有关 Anaconda 软件包的更多信息,请查看文档。

  • 什么是旗帜-c.

  • pip管理依赖项的方式与conda不同,并且可能会损坏安装。

如果您使用的是 Ubuntu 18.04 python3.xxx 或更高版本,请尝试此命令

$ sudo apt install python3-sklearn 

然后尝试你的命令。 希望它能起作用

我做了以下工作:

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

在Windows上,我有python 3+版本。 点子版本 - 22.3.1

我安装了:

pip install sklearn

但是,它似乎已被scikit-learn所弃用。

所以,我做到了:

pip install scikit-learn

而且,它奏效了!!

我尝试了很多事情,但最后,包括使用自动化工具卸载。所以,我已经卸载了手动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

希望可以帮助别人!

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

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

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

命令是:conda install -c anaconda ipython。做。。。

Anaconda 中 sklearn的另一个名称是 scikit-learn。 只需打开你的 Anaconda 导航器,转到环境,选择你的环境,例如 TensorFlow 或任何你想要使用的环境,在卸载的软件包列表中搜索scikit_learn,应用它,然后你可以在你的 Jupyter 中导入 sklearn。

已求解:

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

!pip install sklearn
import sklearn

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

import sys
print(sys.path)

一次来自笔记本Jupyter_lab一次,一次来自使用"py notebook.py"的命令行。

在我的例子中,Jupyter 的路径列表,其中"anaconda"的子文件夹,而 Python 列出了 c:\users[用户名]的子文件夹...

原因

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

因此,即使将环境指定为 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'

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

的问题就我而言,我的 jupyter 笔记本正在导入快照管理器的库。从那以后,我使用 snap 而不是其他方式安装 jupyter。

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

import cv2 as cv
print(cv.__file__)

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

sudo snap remove jupyter

conda install -c conda-forge notebook

我遇到了同样的问题。 问题是当我们在多个 anaconda 环境中工作时,并非所有软件包都安装在所有环境中。 您可以通过在 Anaconda 提示符下编写以下代码来检查您的 conda 环境:

康达环境列表

然后,您可以检查每个环境中安装的软件包:

康达列表 -n NAME_OF_THE_ENVIRONMENT

对我来说,我正在使用的环境缺少 sklearn,尽管该软件包已安装在其他环境中。

因此,我只是简单地在该特定环境中安装了 sklearn 包

conda install -n NAME_OF_THE_ENVIRONMENT scikit-learn

问题已解决

install这些 ==>> pip install -U scikit-learn scipy matplotlib 如果仍然得到相同的错误,那么, 确保您的 IMOPRTED 语句应该正确无误。我在写合奏时做了迷雾,所以,(检查拼写) 其 应该从 sklearn.ensemble import RandomForestClassifier>>>

我遇到了与作者相同的问题,无论有没有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设置,所以我不得不重新开始。

Using 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

相关内容

  • 没有找到相关文章

最新更新