【问题标题】:SOLVED: How do I import scikit-learn in a jupyter notebook?已解决:如何在 jupyter 笔记本中导入 scikit-learn?
【发布时间】:2020-01-17 21:16:57
【问题描述】:

我刚刚为使用 scikit-learn 创建了一个新的 conda 环境。

为避免任何依赖问题,我使用conda install <package> 安装scikit-learnjupyterpandas 等,安装时没有任何问题。

加载环境后,我检查sklearn是否工作:

$python
Python 3.7.4 (default, Aug 13 2019, 15:17:50)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sklearn
>>>

在这一步,我相信sklearn 已经可以使用了。

不幸的是,我收到了 ModuleNotFoundError 试图将其导入 jupyter 笔记本。我在同一个环境中运行它。

import sklearn
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-b7c74cbf5af0> in <module>()
----> 1 import sklearn

ModuleNotFoundError: No module named 'sklearn'

我可以在同一个笔记本中导入numpypandas 而不会出现任何错误。

在环境中使用包对我来说是新事物,我正在从经验中学习。请帮助我了解问题以及如何解决问题。非常感谢。

【问题讨论】:

  • 您确定sklearn 安装在与您工作的环境相同的环境中吗?检查你的 jupyter notebook 中的!pip freeze,看看你那里是否有scikit-learn
  • 你有没有在conda 环境中为sklearn 使用pip install?这可能会导致安装不正确。 scikit-learn.org/stable/…
  • 他正在使用 conda 并特别指出,该软件包是使用 conda 安装的。 Managing environments: Condaconda env list 将为您提供 conda 环境列表。确保您使用conda activate myenv 激活正确的并使用conda deactivate 停用
  • 我检查了 jupyter notebook 的内核规范,它使用的是通过 brew 安装的 Python3(我在 MacOS 上)。在我将其更改为 conda 版本后已修复。

标签: python scikit-learn jupyter-notebook


【解决方案1】:

最佳实践:this answer 中所述,通过 conda 或 pip3 安装所有内容。

如果这不起作用,请检查 jupyter notebook 中的系统路径:

import sys
sys.path

和系统可执行文件:

sys.executable

这些必须与您当前加载的环境中的python相对应。

对我来说,问题出在 jupyter Notebook 的内核上。请参阅路径中kernel.json 文件中的内核规范。您可以从jupyter kernelspec list 找到此文件的目录。我在我的环境中手动将python路径更改为python(这是一个坏主意,但它有效)。

【讨论】:

    【解决方案2】:

    确保您的 jupyter notebook 找到的 python 版本与您的终端相同,否则在您的终端中安装带有conda install 的模块将不会显示在您的笔记本中。做

    import sys

    print(sys.version)

    在您的笔记本和终端中。如果它们不匹配,则将终端的 python 版本添加到笔记本中:

    conda install nb_conda_kernels

    conda install ipykernel

    然后在notebook中切换到刚刚安装的内核(kernel -> change kernel)

    【讨论】:

      【解决方案3】:

      检查 Python 和 Jupyter 的路径:

      import sys
      sys.path
      

      您可能会从 Python 和 Jupyter 中找到不同的结果。如果您使用的是 macos,可以通过附加这行代码来临时解决此问题:

      sys.path.append('/Users/**your_user_name**/anaconda3/lib/python3.7/site-packages')
      

      如果你想永久解决这个问题,你可以创建一个 iPython 配置文件并在那里修复它。

      【讨论】:

        【解决方案4】:

        首先激活 finds 环境,第二次启动 jupyter notebook,第三次导入 sklearn。在 jupyter 笔记本内部。

        【讨论】:

        • 好的。但是怎么做? hhh
        猜你喜欢
        • 2017-02-15
        • 2016-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多