我想导入 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
将留下以下两个选项,可能有助于解决问题:
-
使用
conda
-
使用
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。
更详细的步骤:
- 卸载所有Python版本及其启动器(例如,从Windows中的控制面板),除了您要保留的一个版本。删除 Python 目录中的任何旧 Python 版本文件夹 - 卸载不会删除所有文件。
- 从操作系统的环境变量中删除其他 Python 版本(在系统和用户变量部分下)
- 清除临时文件。例如,对于 Windows,删除所有 AppData Temp 缓存文件(在 C:\Users\YourUserName\AppData\Local\Temp 中)。此外,您还可以对其他临时文件执行Windows磁盘清理,然后重新启动。
- 如果 IDE 支持,请在"设置"中创建新的虚拟环境,然后将唯一安装的 Python 版本设置为解释器。
- 在IDE中,首先从模块列表中安装依赖项Scipy和Numpy,然后安装Scikit-Learn。
正如其他人所建议的那样,关键是确保您的环境设置正确,其中所有内容都指向计算机上 Sklearn 软件包所在的正确库文件夹。有几种方法可以解决此问题。我的方法更加激烈,但事实证明,我的系统上有一个非常混乱的Python设置,所以我不得不重新开始。
Using Anaconda-navigator UI 環境
运行 Anaconda-navigator 时:
-
选择左侧的"环境"选项卡并创建一个新环境(例如ML - 请参阅上面的Gonçalo Peres答案,我创建了一个名为"CourseraML"的环境)。
-
设置 Python 版本 3.7(适用于 Coursera 课程Python 中的应用机器学习)。还包括 R。
-
然后使用"未安装"下拉菜单项查找要安装的模块。在搜索栏中搜索所需的每个模块并选择。SKlearn是Scikit-Learn的一部分。选择它并安装(它应该找到所有相关依赖项)。应用机器学习课程所需的模块:seaborn,numpy,scikit-learn,pandas,matplotlib
-
您需要重新启动 Jupyter Notebook 并重新打开文件。
上述命令行版本:
conda install -n CourseraML seaborn scikit-learn pandas numpy matplotlib graphviz