Jupyter Notebook 找不到 Python 的模块。

29
不确定发生了什么,但每当我使用ipython、hydrogen(atom)或jupyter notebook时,都找不到任何已安装的模块。我知道我已经安装了pandas,但笔记本显示找不到它。
我应该补充一点,当我正常运行脚本(python script.py)时,它可以导入而没有任何错误。
有什么建议吗?
谢谢!

1
运行 python --version 命令并将输出结果展示给我们。我想你的电脑上有两个版本的 Python 在运行。终端正在运行其中一个版本,而 Atom 正在运行另一个版本。 - amb1s1
请查看此答案 https://dev59.com/HVsV5IYBdhLWcg3w-jCl - amb1s1
将以下代码放在Atom中并运行:import platform platform.python_version()让我们看看Atom正在使用哪个版本。 - amb1s1
当我运行它时,它会显示3.6.5。 - Harris2018
显示剩余3条评论
9个回答

69

请尝试以下操作:

pip3 install ipykernel --upgrade
python3 -m ipykernel install --user

请确保使用pip3安装了Panda。


运行了这些命令,但在使用 Hydrogen 的 Atom 中问题仍然存在。当我运行 import pandas 时,它抛出了模块未找到的错误,但当我导入 numpy 时,没有抛出任何错误。 - Harris2018
1
运行 pip3 list 命令以显示已安装的软件包列表,并查看其中是否包含 panda。 - amb1s1
使用 pip3 install 似乎解决了问题。奇怪的是,当我使用 pip installconda install 时,它们都说该软件包已经存在。这是我需要修复或担心的问题吗? - Harris2018
3
对我起作用了,谢谢。能解释一下发生了什么以及为什么会起作用吗? - Michael Gruner
对于某些人,使用 'python3 -m ipykernel install --user' 可能不起作用。而在 cmd-windows 上使用 'py -3 -m ipykernel install --user' 代替。 - Faheeem Sajjad
显示剩余3条评论

7
我遇到了类似的问题。我使用pip3安装了一个文本处理工具,安装成功后能够从终端运行测试代码,但无法在jupyter notebook上运行相同的代码。检查发现notebook中的sys.version是3.7.1,而终端版本是3.6.9。
执行以下命令并重新启动notebook后问题得以解决:
pip3 install ipykernel --upgrade
python3 -m ipykernel install --user

1
对于某些人来说,“python3 -m ipykernel install --user”可能无法正常工作。在cmd-windows上,请改用“py -3 -m ipykernel install --user”。 - Faheeem Sajjad

2

针对Anaconda/Jupyter Notebook:

这解决了我的问题。

首先打开你的Anaconda命令提示符。

然后激活你的环境(如果你想在base中执行,则可以跳过此步骤)。

pip3 install ipykernel --upgrade

然后放置这段代码。
python -m ipykernel install --user --name torch --display-name "PyTorch (base)"

这里,torch是您虚拟环境的名称(如果要使用基本环境,请使用anaconda-base)。

PyTorch(base)是您想要在内核中显示的名称;用您希望的名称替换它。

然后您将看到更改内核选项(从内核选项)以查找您要查找的虚拟环境的选项。

之前:

Not Working State 未工作状态

之后:

Working State 工作状态

如果在VS Code中,请查看此答案。 这完美地解决了它。

https://dev59.com/ElUL5IYBdhLWcg3wDkdT#64730974


1

我在一个新安装的虚拟环境中遇到了完全相同的问题。 结果发现问题是我使用了旧版本的pip和jupyter。 以下命令对我有用:

$pip3 install pip --upgrade
$pip3 install jupyter --upgrade

1
问题似乎通过运行 pip3 install 而不是 pip install 得到解决。

pip3安装jupyter - Rexcirus
我尝试过这样做,但它抱怨我需要升级,但当我尝试升级时,它说已经升级了,但pip3并不这么认为...这是个鸡生蛋的问题吗?(automl)brandomiranda〜❯ pip3 install 错误:您必须至少提供一个要安装的要求(请参见“pip help install”) 您正在使用pip版本10.0.1,但版本19.3.1可用。 您应该考虑通过'pip install --upgrade pip'命令进行升级。 (automl)brandomiranda〜❯ pip install --upgrade pip 要求已经是最新的:pip在./miniconda3/envs/automl/lib/python3.7/site-packages中(19.3.1) - Charlie Parker

1

Visual Studio Code 修复方案

查找右上角并点击显示的 Python 版本。

enter image description here

应该出现您的Python版本列表。向下滚动到您想要使用的Python版本,然后单击它。

enter image description here

在此之后,您应该能够在右上角看到您选择的Python版本。

enter image description here


0

指令:

pip3 install ipykernel --upgrade
python3 -m ipykernel install --user

只有在我重新安装 pip 后才对我有用(注意,我遇到了 Python 3.7 的问题)。

我所做的是:

pip uninstall pip

然后我使用了(已弃用的)命令:

sudo easy_install pip

我也使用以下命令删除了 /usr/local/bin 中与 pip 相关的所有内容:

rm -rf pip*

希望这对其他人有所帮助 :)

0

我曾经遇到过其他包(如scikit-commpy和ModulationPy)的同样问题。

import <package_name>script.py 中可以工作,但在 notebook.ipynb 中却不行。

对我有用的方法:

在笔记本内运行 !pip install <package_name>

你只需要这样做一次 (它可能会说“依赖项已经安装”,但之后它将解决问题)。

对我没有用但可能有帮助的方法:

  • 比较 script.py 和 notebook.ipynb 中的 sys.version
  • 在两者上调用 help('modules') 并进行比较
    • 你也可以使用 help('modules <package_name>') 来过滤长列表以获取特定的包。
  • 重新安装以下任何一个软件包:
    • 有缺陷的软件包
    • ipython
    • ipykernel
  • 在 Pycharm 上:文件 > 无效缓存

0

我在jupyter notebook中遇到了同样的问题。我使用计算机终端安装了模块,但是当我尝试在jupyter notebook中加载它们时,无法加载模块,但在终端中它们却可以正常工作。

起初,我检查了Python版本,终端运行的是Python 3.8.5版本,而jupyter notebook运行的是3.8.3版本,我认为这是问题的原因,于是我更新了整个Anaconda包,但仍然没有解决问题。

然后我打开了Anaconda提示符并重新安装了该软件包,我发现大部分软件包已经安装并且满足要求,但只有一个部分在Anaconda提示符中安装。 (注意:我从未在任何终端中卸载过该软件包,只是在Anaconda提示符中重新安装了它)。 在Anaconda提示符中安装后,它开始正常工作。

总之,请尝试在Anaconda提示符中重新安装该软件包。

pip install (module_name)

希望这能对你有所帮助!

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