Jupyter notebook导入scipy报ModuleNotFoundError问题求助
问题根因
这是Jupyter运行内核与pip安装目标环境不匹配导致的问题。执行!pip install时,pip默认将scipy安装到了AnacondaEnv37环境的站点包目录,但当前Jupyter会话加载的内核对应的Python解释器没有读取该目录的权限,或者内核本身不属于AnacondaEnv37环境,因此导入时找不到已安装的scipy包。
解决方案
- 首先在当前Jupyter的空白cell中执行以下代码,获取当前内核对应的Python解释器绝对路径:
import sys print(sys.executable)
- 用上一步输出的Python路径执行安装命令,替换下方示例的路径即可:
!/Users/suya/opt/anaconda3/envs/AnacondaEnv37/bin/python -m pip install -U scipy
- 安装完成后重启Jupyter内核,不要在当前安装的cell中直接执行导入,新开cell再运行
import scipy即可正常加载。
额外排查点
- 启动Jupyter前先激活
AnacondaEnv37环境,避免base环境启动Jupyter后切换内核导致的环境变量混乱问题 - 无需重复卸载重装scipy,当前你安装的1.7.2版本完全适配Python3.7环境,不存在版本兼容问题
内容的提问来源于stack exchange,提问作者isadorasu
相关产品推荐
相关产品推荐

