ModuleNotFoundError: 没有名为“ sklearn”的模块

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

ModuleNotFoundError: No module named 'sklearn'

我正在使用 Anaconda 和 Python 3.6.1; 我已经检查了所有地方,但仍然找不到答案。

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

我检查了 Python 库中的框架,没有任何关于 sklearn 的内容,只有 numpy 和 scypy。

请帮助,我是新使用蟒蛇软件包,特别是通过蟒蛇。

537914 次浏览

你可以使用 pip来安装软件包,即使你正在使用 水蟒:

pip install -U scikit-learn scipy matplotlib

这对于安装软件包应该是有效的。

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

pip3 install -U scikit-learn scipy matplotlib

简介


使用 Anaconda 时,需要注意工作环境。

然后,在 AnacondaPrompt 中需要运行以下命令

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

$Command -打算使用的命令(查阅通用命令的文档)

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

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


解决方案


Will leave below two options that may help one solve the problem:

选择一

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

conda install scikit-learn

Let's say that one is working in the 环境 with the name ML.

Then the following will solve one's problem:

conda install -n ML scikit-learn

注意: 如果需要安装/更新软件包,其逻辑与前言中提到的相同。如果你需要更多关于 蟒蛇包裹,检查文件的信息。


选择二

如果上面的方法不起作用,在水蟒提示符上也可以使用 pip (这里是如何 pip 安装 scikit-learn) ,所以下面的方法可能会有帮助

pip install scikit-learn

Notes: pip doesn't manage dependencies the same way conda does and can, potentially, damage one's installation.

我尝试了很多方法,但最终还是用自动化工具卸载了。

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

希望这能帮到别人!

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

最后我意识到,问题是与朱庇特笔记本环境,而不是与 sklearn!

我解决了这个问题,重新安装木星在相同的环境作为 sklearn

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

因为

Conda 和 pip 在 ~/anaconda3/envs/$ENV/lib/python3.7/site-package 下安装 scikit-learn,而 Jupiter 笔记本则在 ~/anaconda3/lib/python3.7/site-package 下寻找软件包。

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

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

解决方案

Pip 3将软件包安装在 ~/anaconda3/lib/python3.7/site-package 下。

确认一下

在 pip3之后,在朱庇特笔记本上。

import sklearn
sklearn.__file__

~/anaconda3/lib/python3.7/site-package/sklearn/Init.py’

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

$ sudo apt install python3-sklearn

那就试试你的命令,希望能成功

我做了以下几件事:

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

安装这些 = = > > pip install-U scikit-learn scypy matplotlib 如果仍然得到相同的错误, 请确保您的输入语句应该是正确的。我在写合奏时犯了错误,所以,(检查拼写) 它的 应该 > > > from skearn.enlement import 随机森林分类器

水蟒中 sklearn 的另一个名字是 scikit-learn。只要打开你的蟒蛇导航器,进入环境,选择你的环境,例如 tensorflow 或者任何你想要处理的东西,在未安装的软件包列表中搜索 scikit _ learn,应用它,然后你就可以在你的 Jupyter 中导入 sklearn。

我和作者有同样的问题,无论有没有 Anaconda,无论 Python 版本如何,我都会遇到这个问题。每个人的环境都是不同的,但是在我自己解决之后,我认为在某些情况下,这可能是因为安装了多个版本的 Python。每个已安装的 Python 版本都有自己的 Lib site-package 文件夹,该文件夹可以包含该 Python 版本的一组惟一模块,IDE 可以在其中查看不包含 scikit-learn 的文件夹路径。

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

更详细的步骤:

  1. Uninstall all Python versions and their launchers (e.g. from Control Panel in Windows) except the one version you want to keep. Delete any old Python version folders in the Python directory --uninstalling doesn't remove all files.
  2. 从 OS 的 Environment Variables 中删除其他 Python 版本(在系统和用户变量部分下)
  3. 清除临时文件。例如,对于 Windows,删除所有 AppData 临时缓存文件(在 C: UserYourUserNameAppDataLocalTemp 中)。此外,您还可以对其他临时文件进行 Windows 磁盘清理,然后重新启动。
  4. If your IDE supports it, create a new virtual environment in Settings, then set your only installed Python version as the interpreter.
  5. 在您的 IDE 中,首先安装模块列表中的依赖关系 Scipy 和 Numpy,然后安装 Scikit-Learning。

正如其他人所建议的那样,关键在于确保您的环境设置正确,所有内容都指向您计算机上 Sklearn 包所在的正确的库文件夹。有几种方法可以解决这个问题。我的方法更加极端,但结果是我的系统上有一个非常混乱的 Python 设置,所以我必须重新开始。

解决了:

上述说法没有帮助。然后我简单地从 Jypyter-lab 中安装 sklearn,即使 sklearn 0.0在“ pip 列表”中显示:

!pip install sklearn
import sklearn

后来我了解到,在我的例子中,pip 安装软件包的文件夹与 Jupiter 不同。这可以通过执行以下命令来看到:

import sys
print(sys.path)

一次是在 Jupiter _ lab 笔记本中,一次是在命令行中使用‘ py note book.py’。

在我的例子中,Jupiter 列出了“ anaconda”的子文件夹的路径,而 Python 列出了 c: users [ username ]的子文件夹..。

使用蟒蛇导航器 UI 环境

当运行水蟒时-导航器:

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

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

  • 然后使用“未安装”下拉菜单项找到要安装的模块。在搜索栏中搜索所需的每个模块并选择。Sklearn< strong > scikit-learn 的一部分。选择它并安装(它应该找到所有相关的依赖项)。应用机器学习课程所需要的模块: 海运,麻木,scikit-learn,熊猫,matplotlib

  • 您需要重新启动木星笔记本电脑,并重新打开您的文件。

命令行版本:

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

Causes 你的 Jupyter 笔记本可能会导入 sklearn 和其他库 另一个是来自 conda 或 pip 的库的位置(路径)。

我的问题 在我的例子中,我的 Jupyter 笔记本正在导入管理单元管理器的库。因此,我安装 Jupyter 使用的管理单元,而不是其他方式。

你可以使用下面的代码来检查其他库在木星中的导入位置:

import cv2 as cv
print(cv.__file__)

所以,我卸载 Jupyter 笔记本电脑,然后安装笔记本电脑使用 conda。

 sudo snap remove jupyter

conda install -c conda-forge notebook

我也有同样的问题。 问题在于,当我们在多个蟒蛇环境中工作时,并非所有的包都安装在所有的环境中。 你可以通过在水蟒提示符中编写以下代码来检查你的 conda 环境:

conda env list

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

Conda 列表-n NAME _ OF _ THE _ ENVIRONMENT

对我来说,我工作的环境缺少 sklearn,尽管软件包是安装在其他环境中的。

因此,我只是简单地在那个特定的环境中安装了 sklearn 软件包

conda install -n NAME_OF_THE_ENVIRONMENT scikit-learn

问题解决了

在 Windows 上,我有 python 3 + version. pip version-22.3.1

我安装了:

pip install sklearn

But, it seems it is deprecated with scikit-learn.

So, I did:

pip install scikit-learn

成功了!