自制软件升级后Jupyter Notebook ModuleError

时间:2020-05-24 13:30:54

标签: python macos jupyter-notebook package homebrew

我已经使用Jupyter已有一段时间了,并且运行良好。我通过Homebrew安装了Jupyter和Python。我正在MacOS上运行。

昨天,我运行了命令brew upgrade,现在我的Jupyter笔记本无法找到任何已安装的python软件包。我将以Numpy为例。

在Jupyter笔记本中,我尝试做

import numpy

我收到消息:

ModuleNotFoundError: No module named 'numpy'

但是,如果我在终端窗口中启动python,则可以毫无问题地导入Numpy。

我首先通过重新发出安装命令来检查软件包是否已正确安装

brew install numpy

输出:

Warning: numpy 1.18.4 is already installed and up-to-date
To reinstall 1.18.4, run `brew reinstall numpy` 

我也参加了

pip install numpy

并得到:

Requirement already satisfied: numpy in /usr/local/lib/python3.7/site-packages (1.18.4)

现在,这是我感到困惑的地方,因为我希望路径指向/usr/local/Cellar/之类的东西,所以我检查了Jupyter笔记本内部的路径:

import sys
sys.path

输出:

['/Users/kseuro/Dropbox/Dev/',
 '/usr/local/Cellar/jupyterlab/2.1.2/libexec/lib/python38.zip',
 '/usr/local/Cellar/jupyterlab/2.1.2/libexec/lib/python3.8',
 '/usr/local/Cellar/jupyterlab/2.1.2/libexec/lib/python3.8/lib-dynload',
 '/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8',
 '',
 '/usr/local/Cellar/jupyterlab/2.1.2/libexec/lib/python3.8/site-packages',
 '/usr/local/Cellar/jupyterlab/2.1.2/libexec/lib/python3.8/site-packages/IPython/extensions',
 '/Users/kseuro/.ipython']

好吧,所以Homebrew希望Jupyter使用Python3.8吗?所以我尝试了brew switch python 3.8并得到了:

Error: python does not have a version "3.8" in the Cellar.
python's installed versions: 3.7.7

我觉得我现在已经不懂事了,需要帮助弄清楚下一步该怎么做。我不想从改变路径开始。

建议?非常感谢。

1 个答案:

答案 0 :(得分:4)

我弄清楚该怎么做-为我将来的自己和其他可能偶然发现此问题的人发布解决方案。

由于Jupyerlab位于自己的地窖中,因此Python程序包需要最终位于

/usr/local/Cellar/jupyterlab/x.y.z/libexec/lib/python3.x/site-packages

目录,其中x, y, z是整数,因此Jupyter内核可以找到它们。

您可以通过以下方式进行此操作:

import sys
!{sys.executable} -m pip install 'package-name'

在Jupyer笔记本中。

一切都很好,

相关问题