Jupyter Notebook:没有名为pandas的模块

8

我已经搜索了其他问题,但没有找到任何有用的东西(大多数建议您使用conda或pip安装pandas)。在我的jupyter笔记本中,我正在尝试导入pandas(import pandas as pd) ,但是我遇到了以下错误:

模块未找到错误:没有名为'pandas'的模块

一些相关信息:

  • 我正在使用python3
  • 我已经使用conda install pandas安装了pandas
  • 我的conda环境已正确安装pandas。激活环境后,我在终端中输入python,然后可以成功导入并适当使用pandas。这让我相信这是我jupyter笔记本的问题。

你可能需要设置笔记本电脑使用正确的内核,与安装了“pandas”的conda环境相关联的内核... - juanpa.arrivillaga
@juanpa.arrivillaga 它已设置为python3内核。我尝试切换到python2内核,只是想看看会发生什么,结果出现了“内核错误”,我认为这是正确的,因为这是一个python3环境。 - CGul
你只看到了两个内核选项吗? - juanpa.arrivillaga
是的 - Python2 和 Python3。 - CGul
你是否使用conda安装了jupyter? - Shihe Zhang
可能会有多个与此行为相关的不同问题。我在这里尝试详细阐述它们:https://stackoverflow.com/a/55119615/1438906 - wombatonfire
6个回答

4
你可以尝试运行 which condawhich python 命令,以查看 conda 和 python 的确切安装位置以及哪一个被启动。
然后尝试使用 conda 的绝对路径来启动 jupyter。
例如:/opt/conda/bin/jupyter notebook

绝对路径是唯一让它对我起作用的东西! - ivanacorovic
我曾经遇到过同样的问题,问题出在我安装了不同版本的Jupyter。你可以通过which -a jupyter命令查看。如果你有两个不同的路径,而第一个路径不在conda目录中,那可能就是问题所在。我不想使用绝对路径,所以我通过改变$PATH中元素的顺序来解决这个问题。 - roborg

4

对于我在Mac OSX上的情况,这个问题可以通过使用pip安装jupyter而不是homebrew来解决。

pip3 install jupyter

那么jupyter notebook就可以访问所有Python包,包括pandas。

另一种选择是在jupyter notebook中安装pandas:

!pip install pandas

1

似乎使用Homebrew安装Homebrew公式的依赖包没有得到很好的处理。主要是路径问题,因为安装位置与pip3不同。我还尝试通过!pip3在nb中安装pandas,但是我遇到了错误,表示它已经满足,这意味着它已经安装了,只是没有导入。我卸载了Homebrew jupyterlab并改用pip3,所有问题都得到了解决。


1
尝试使用这个Python3命令:

sudo pip3 install pandas


0

jupyter notebook中的默认内核指向的Python与终端中使用的Python不同。您可以使用which python进行检查。

因此,通过conda安装的软件包与jupyter notebook默认使用的Python所在的位置不同。

为了解决这个问题,两者需要相同。

为此,请使用ipykernel创建一个新的内核。语法:python -m ipykernel install --user --name custom_name --display-name "Python (custom_name)"

之后,检查自定义内核和所使用的Python路径。jupyter kernel list --json

最后,重新启动jupyter notebook。并将内核更改为新的custom_kernel


0

环境出错或者你的IDE需要更新。以exifread作为模块的示例来证明:

(scrape) C:\Users\Admin>python
Python 3.8.5 (default, Sep  3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import exifread
>>>

因此,exifread可以在“scrape”环境中导入。
然而,在VSCode中,当您选择一个conda环境时,这个“scrape”环境不像其他环境bd/ml/dl那样显示出来,它是列表中的最后一项,并且末尾没有('scrape': conda)

enter image description here

如果我选择这个“scrape”环境,并且之前选择了“bd”环境,它似乎像往常一样工作,它会在状态中被选中。

enter image description here

但奇怪的是,如果我在那个“scrape”环境中运行一个安装(参考其他答案),我得到:

enter image description here

或者以书面形式:
from pathlib import Path
!pip install exifread
import exifread

抛出异常:
Requirement already satisfied: exifread in c:\users\admin\anaconda3\envs\bd\lib\site-packages (3.0.0)

因此,Jupyter Notebook没有切换到"scrape"环境,仍然处于之前的"bd"环境。
而且,如果我删除安装命令!pip install exifread并运行它,它无法找到模块"exifread",就像问题中的"pandas"一样。
ModuleNotFoundError: No module named 'exifread'

如果我选择其他环境,它就能正常工作。因此,请检查另一个环境或重新构建该环境。
虽然我认为这样可以解决问题,但今天刚刚更新了一下,一切看起来都很新,"scrape" 环境在下拉列表中与其他环境一样被列出来了。

enter image description here

当被选择时,环境现在会弹出在右上角,并且它会运行通过:

enter image description here


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