【问题标题】:ModuleNotFoundError: No module named 'sklearn'ModuleNotFoundError:没有名为“sklearn”的模块
【发布时间】:2018-02-17 05:14:01
【问题描述】:

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

ModuleNotFoundError: No module named 'sklearn'

我正在使用 Anaconda 和 Python 3.6.1;我到处查了,还是找不到答案。

当我使用命令时: conda install scikit-learn 这不应该有效吗?
anaconda 在哪里安装软件包?

我正在检查我的 python 库中的框架,并且没有关于 sklearn 只有 numpy 和 scipy 的内容。

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

【问题讨论】:

  • 您是否尝试使用 Ananconda 导航器安装软件包。如果您创建了不同的环境,请确保启动正确的笔记本。

标签: python scikit-learn anaconda package conda


【解决方案1】:

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

pip install -U scikit-learn scipy matplotlib

这应该适用于安装包。

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

pip3 install -U scikit-learn scipy matplotlib

【讨论】:

  • 清除缓存
  • 尝试像下面的命令一样附加 sudo。它对我有用sudo pip3 install -U scikit-learn
  • -U是什么意思?
  • @keramat -U 表示升级,因此如果您有旧版本,它将安装最新版本(请参阅stackoverflow.com/q/12435209/11063448
  • 它没有帮助,还有其他想法吗?
【解决方案2】:

简介


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

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

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

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

$ENVIRONMENT NAME - 您的环境名称(如果在根目录下工作, 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的信息。


如果上述方法不起作用,也可以在 Anaconda Prompt 上使用 pip (here's how to pip install scikit-learn),因此以下可能会有所帮助

pip install scikit-learn

【讨论】:

    【解决方案3】:

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

    希望可以帮助别人!

    【讨论】:

      【解决方案4】:

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

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

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

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

      【讨论】:

      • 这个。这就像一个魅力。我在 W10 上安装了全新的 conda。在专用环境中安装了 tensorflow。在相同的环境中安装了 scikit-learn。无法导入它。在环境中运行conda install -c anaconda ipython 并修复了问题。
      • 感谢@JoErNanO 的反馈。
      【解决方案5】:

      原因

      Conda 和 pip 在 ~/anaconda3/envs/$ENV/lib/python3.7/site-packages 下安装 scikit-learn,但是 Jupyter notebook 会在 ~/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'

      【讨论】:

        【解决方案6】:

        如果你使用的是 Ubuntu 18.04 或更高版本的 python3.xxx,那么试试这个命令

        $ sudo apt install python3-sklearn 
        

        然后试试你的命令。希望它会工作

        【讨论】:

          【解决方案7】:

          我做了以下事情:

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

          【讨论】:

          • 这对我有用
          【解决方案8】:

          安装这些 ==>> pip install -U scikit-learn scipy matplotlib 如果仍然出现同样的错误,那么, 确保您的 imoprted 陈述应该是正确的。我在写合奏时犯了错误,(检查拼写) 它的 应该是 >>> from sklearn.ensemble import RandomForestClassifier

          【讨论】:

            【解决方案9】:

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

            【讨论】:

              【解决方案10】:

              我遇到了与作者相同的问题,无论是否使用 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】:

                已解决:

                以上没有帮助。然后我只是从 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[username] 的子文件夹...

                【讨论】:

                  【解决方案12】:

                  使用 Anaconda-navigator UI 环境

                  运行 Anaconda-navigator 时:

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

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

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

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

                  上面的命令行版本:

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

                  【讨论】:

                    【解决方案13】:

                    原因 - 您的 jupyter notebook 可能正在从 另一个位置(路径)而不是来自 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

                    【讨论】:

                      【解决方案14】:

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

                      conda 环境列表

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

                      conda list -n NAME_OF_THE_ENVIRONMENT

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

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

                      conda install -n NAME_OF_THE_ENVIRONMENT scikit-learn

                      问题解决了

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 2021-07-01
                        • 1970-01-01
                        • 2019-02-22
                        • 2019-03-28
                        • 2020-10-04
                        • 2022-01-07
                        • 2017-07-23
                        相关资源
                        最近更新 更多