没有名为 numpy 的模块

没有名为 numpy 的模块

我正在尝试从 Windows 10 中的 Ubuntu 子系统运行 Jupyter 笔记本。我使用以下命令安装了 numpy、scipy 和 pandas:

pip install scipy numpy
pip install pandas

当我在 Ubuntu 中加载 python 时,在 Ubuntu cmd 中导入 numpy 没有问题。 在此处输入图片描述

但是,当我从 Ubuntu 终端运行 Jupyter Notebook,并尝试将 numpy 导入为 np,或将 pandas 导入为 pd 时,他们会报告

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-a9340201ed9f> in <module>
      5 import dash_html_components as html
      6 import plotly.graph_objs as go
----> 7 import numpy as np
      8 from dash.dependencies import Input, Output
      9 

ModuleNotFoundError: No module named 'numpy'

有没有办法解决这个问题?非常感谢。

答案1

每个 Python 版本都有自己的环境和模块,因此为 Python3.x 安装的模块不适用于 Python2.x

还请记住,python 也获得虚拟环境,并且如前所述,安装在 python3 虚拟环境中的模块和库在另一个虚拟环境或 python3 系统安装中不可用。

为了避免这种情况,您可以使用 requirements.txt 文件并使用 pip 安装应用程序所需的必要模块和库。requirements.txt 文件示例:

numpy
panda

并使用以下方法安装模块:

pip install -r requirements.txt

这将安装最新版本的 panda 和 numpy,如果您想将它们安装到特定版本,请创建如下 requirements.txt 文件:

numpy==1.1
panda>=2.5
math>=1.1,<=1.5

第一个安装 numpy 时精确指定提供的版本,第二个安装 panda 时指定任何大于 2.5 的版本,最后一个安装 math 时指定提供的版本之间的版本。

笔记:(软件版本与真实版本不匹配)

答案2

就像 Atomi 所说的那样。简而言之,jupyter 是通过默认 python 启动的,在你的情况下可能是 2.7。你可以从“new”选项创建一个新的笔记本并选择 python3。另一种方法是创建一个虚拟环境并在其中安装你需要的所有内容。然后你可以在该环境中启动 jupyter。你需要按照以下步骤操作,看看: https://medium.com/@eleroy/jupyter-notebook-in-a-virtual-environment-virtualenv-8f3c3448247

答案3

您的 Jupyter 笔记本正在运行 Python 3 内核,因此请使用以下命令为 Python 3.x 安装 numpy、scipy 和 pandas:

sudo apt install python3-numpy python3-scipy python3-pandas  

如果您想在 Jupyter 中切换到 Python 2.x,您可以使用以下命令为 Python 2.x 安装相同的三个包:

sudo apt install python-numpy # 20.04 and earlier
sudo apt install python-scipy python-pandas # 18.04 and earlier 

您喜欢使用 Anaconda 安装第三方软件包,但是对于您来说,这可能不是必需的。

相关内容