Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scikit learn Jupyter笔记本:没有名为';sklearn';_Scikit Learn_Jupyter_Conda - Fatal编程技术网

Scikit learn Jupyter笔记本:没有名为';sklearn';

Scikit learn Jupyter笔记本:没有名为';sklearn';,scikit-learn,jupyter,conda,Scikit Learn,Jupyter,Conda,我正在尝试在本地机器上运行。我犯了一个错误 ImportError:仅在jupyter笔记本中没有名为“sklearn”的模块 在激活和停用carnd-term1 env的情况下,我从命令行使用python时,它可以正常工作 我已经用pip、apt get和conda安装了sklearn。还尝试了conda升级scikit学习。环境处于激活和停用状态 从jupyter笔记本上看不起作用 有什么想法吗?这通常意味着两者不是同一个环境。最好的检查方法是sys.executable,并确保它是

我正在尝试在本地机器上运行。我犯了一个错误 ImportError:仅在jupyter笔记本中没有名为“sklearn”的模块 在激活和停用carnd-term1 env的情况下,我从命令行使用python时,它可以正常工作

我已经用pip、apt get和conda安装了sklearn。还尝试了conda升级scikit学习。环境处于激活和停用状态





从jupyter笔记本上看不起作用


有什么想法吗?

这通常意味着两者不是同一个环境。最好的检查方法是
sys.executable
,并确保它是您所期望的。如果笔记本电脑没有使用预期的
sys.executable
,第一步可能是检查路径:

which jupyter
which jupyter-notebook
最可能的问题是笔记本电脑堆栈不在您的conda env中,您可以通过以下方法解决:

conda install notebook
第二个最有可能的情况是您安装了一个覆盖您的环境的kernelspec(例如,使用
ipython kernel install--user
)。您可以看到内核的位置:

jupyter kernelspec list
要确保在同一环境中安装了IPython内核,可以执行以下操作:

conda install ipykernel
ipython kernelspec install --sys-prefix

然后再次检查jupyter kernelspec列表。

更新软件包可能会解决您的问题

conda upgrade scikit-learn

如果您使用虚拟环境,则需要将笔记本安装到您的环境中:

pip install notebook

您可以在使用的环境中安装库

pip install sklearn

conda install sklearn

让我们学习解决这类问题的一般方法。解决办法非常简单。基本上有三个步骤:

  • 查找安装pip包的位置
  • 将该目录添加到路径
  • 最后,导入包
  • 查找安装pip包的位置:

    !pip show PACKAGE_NAME
    
    import PACKAGE_NAME
    
    别忘了这个
    。这将为您提供该包的路径(可能包含其他信息)。获取
    位置
    中给定的路径

    将该目录添加到路径:在您将该包导入到
    jupyter
    中之前,应先执行以下代码

    import sys
    sys.path.append('path/to/the/package')
    
    现在导入包:

    !pip show PACKAGE_NAME
    
    import PACKAGE_NAME
    
    因此,对于
    sklearn

    !pip show PACKAGE_NAME
    
    import PACKAGE_NAME
    
    获取sklearn目录:

    !pip show scikit-learn
    
    import sys
    sys.path.append('/path/to/sklearn')
    
    添加目录:

    !pip show scikit-learn
    
    import sys
    sys.path.append('/path/to/sklearn')
    
    导入它:

    import sklearn
    
    参考文献:

    !pip show PACKAGE_NAME
    
    import PACKAGE_NAME
    

  • 您是否已将jupyter笔记本安装到此环境中?我尝试按照您的说明进行操作,但即使满足所有条件,它也无法工作。然后我意识到我在康达安装的python3虚拟环境中。所以我退出了那个笔记本。检查了默认的python版本(没有virtualenv),它是python 2.7。启动REPL,然后是jupyter笔记本。BOOM能够从SKL学习。在这里留下评论以防对某人有所帮助我认为我有内核问题,但我没有使用conda,只是简单的老pip。有什么办法?