Scipy无法在Jupyter Notebook中导入。

5
我正在尝试在jupyter笔记本中使用scipy,它显示已安装,但是当我尝试导入它时,会出现以下错误。enter image description here任何帮助都将是极好的。谢谢。

这个答案可能会有帮助:https://dev59.com/GFkT5IYBdhLWcg3wIsSw - jakevdp
2个回答

11

简而言之:试试这个

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

更多信息:

Jupyter笔记本可以使用多个内核,这些内核实际上是指向笔记本使用的Python(或其他语言)可执行文件的指针。在Python内核中,您可以通过输入以下命令来确定正在使用哪个内核:

import sys
print(sys.executable)

当你在笔记本中运行一个bash命令,例如!pip install scipy,它会使用启动笔记本时处于活动状态的bash环境,而这个环境不一定与你正在使用的Python内核相关。这意味着它可能会在不同的Python位置安装scipy。你可以通过运行!which python来找出你的shell指向哪个Python。如果不匹配,则!pip install将无法在正确的位置进行安装。
你可以通过明确告诉bash提示符要使用哪个Python/pip来解决这个问题。例如,下面的命令应该可以解决这个问题:
import sys
!{sys.executable} -m pip install scipy

这会运行与您的可执行文件相关联的pip版本,并使用它来安装scipy。如果想了解更多关于幕后发生的事情的细节,请查看这个答案

1

你执行的pip使用的是一个shell,该shell可能(并且在这里很可能)具有不同于jupyter笔记本电脑的python解释器!

Jake VanderPlas来拯救https://twitter.com/jakevdp/status/841791667472543745 在笔记本电脑中执行以下操作

import sys
sys.executable

根据"sys.executable"的输出,调整您的命令行调用,仍然在笔记本中。
!/usr/bin/python3 -m pip install scipy

但是既然您已经安装了scipy,问题就在于要理解为什么找不到您的anaconda scipy。您是否有一个默认的虚拟环境来使用所有的python?您如何启动笔记本电脑?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接