满足要求,但无法在jupyter笔记本中导入库

Arj*_*han 0 python numpy python-import pandas

我想在 jupyter 中导入 numpy 和 pandas 但收到消息:

----> 1 import pandas as pd

ModuleNotFoundError: No module named 'pandas'
Run Code Online (Sandbox Code Playgroud)

现在,当我打开 anaconda 提示符并执行操作pip list时,我可以看到最新版本的 numpy

即使我说它pip install说要求已经满足。

我知道这在某种程度上与 python 的 PATH 有关。

老实说,作为一个有数学背景学习如何编码的人,我真的不确定这意味着什么,以及如何检查和修复路径是否正确。

它只是意味着 jupyter 寻找的地方吗python.exe?我不确定在哪里检查这一点。

where python在 Anaconda Prompt 中给了我:

C:\Users\MyName\Anaconda3\python.exe
C:\Program Files\Python37\python.exe
Run Code Online (Sandbox Code Playgroud)

当我在 jupyter 笔记本上运行此命令时:

from jupyter_core.paths import jupyter_data_dir
print(jupyter_data_dir())
Run Code Online (Sandbox Code Playgroud)

我得到:

C:\Users\NyName\AppData\Roaming\jupyter
Run Code Online (Sandbox Code Playgroud)

这是问题的根源吗?

Mat*_*all 6

问题在于您的 Jupyter 内核使用的 Python 与 Anaconda 提示符中的 Python 不同。

如果您不使用虚拟环境,那么您应该开始使用。要制作一个,请打开 Anaconda 提示符并执行以下操作(将名称更改myenv为您喜欢的名称):

conda create -n myenv python=3.7 jupyter matplotlib pandas
Run Code Online (Sandbox Code Playgroud)

如果需要,也可以更改 Python 或其他包的版本。

完成后,切换到该环境:

conda activate myenv
Run Code Online (Sandbox Code Playgroud)

现在执行以下操作:

python -m ipykernel install --user --name myenv
Run Code Online (Sandbox Code Playgroud)

这为此环境添加了 Jupyter 内核。创建环境后,您只需执行一次此操作。

现在重新启动 Jupyter Notebook 或 Jupyter Lab 等。或者如果您愿意,可以在此环境中安装更多东西。你可以pip像这样使用:

pip install awesomepackage
Run Code Online (Sandbox Code Playgroud)

现在,您应该在Kernel > Change kernel下看到您的环境,并在制作新笔记本时在New下看到您的环境。

如果您知道这一切,请原谅我,但这是我能够保持环境正常并准确知道我在哪里安装东西的唯一方法。祝你好运!