Homebrew 升级后 Jupyter Notebook 模块错误

Jupyter Notebook ModuleError after Homebrew Upgrade

我使用 Jupyter 已经有一段时间了,它运行得很好。我通过 Homebrew 安装了 Jupyter 和 Python。我在 MacOS 上 运行。

昨天,我 运行 命令 brew upgrade 现在我的 Jupyter notebook 找不到任何已安装的 python 包。我将使用 Numpy 作为示例。

当在 Jupyter notebook 中时,我尝试做

import numpy

我收到消息:

ModuleNotFoundError: No module named 'numpy'

但是,如果我在终端 window 中启动 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 notebook 中的路径:

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

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

建议?非常感谢。

我想出了该怎么做 — 为未来的我和可能偶然发现此问题的其他人发布解决方案。

由于 Jupyerlab 在其自己的 Cellar 中,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 笔记本内部。

再次一切安好。