You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook导入SciPy、NumPy报错的技术求助

解决Jupyter Notebook中SciPy/NumPy导入报错但终端正常的问题

这种情况我之前也碰到过,明明环境版本完全一致,Jupyter却出现奇怪的报错,大概率是Jupyter的路径匹配、缓存或者文件冲突问题,咱们一步步来排查解决:

1. 确认Jupyter实际使用的Python路径

有时候你激活了目标虚拟环境,但Jupyter加载的kernel并不是这个环境的。在Jupyter Notebook里运行以下代码:

import sys
print(sys.executable)

然后在已经激活MachineL环境的终端里运行:

# Windows系统
where python
# Linux/macOS系统
which python

对比两者的输出路径,如果不一样,说明Jupyter的kernel没对应上。解决方法是在你的虚拟环境里安装并注册对应kernel:

conda activate MachineL
pip install ipykernel
python -m ipykernel install --user --name MachineL --display-name "Python (MachineL)"

之后重启Jupyter,选择Python (MachineL)这个kernel再运行代码。

2. 检查工作目录是否有同名文件

如果你的notebook所在文件夹里,存在自己创建的numpy.py、scipy.py或者对应的.pyc缓存文件,会直接覆盖系统的官方模块,导致这类奇怪的报错。

检查当前Jupyter首页显示的工作目录,如果有这类文件,直接删除,然后重启Jupyter。

3. 清除模块缓存并重启Jupyter

Jupyter会缓存已加载的模块,即使环境没问题,缓存损坏也会导致报错:

  • 完全关闭Jupyter Notebook服务器(包括浏览器标签和终端里的进程)
  • 删除虚拟环境中SciPy和NumPy目录下的__pycache__文件夹(比如~\Anaconda3\envs\MachineL\lib\site-packages\numpy\__pycache__)
  • 重新启动Jupyter,再测试导入代码

4. 重新安装SciPy和NumPy(兜底方案)

如果上面的方法都没用,可能是包的安装文件损坏了,虽然版本一致,但重新安装可以修复:

conda activate MachineL
pip uninstall numpy scipy -y
pip install numpy==1.18.5 scipy==1.3.1  # 对应你终端里的版本

安装完成后重启Jupyter再测试。

内容的提问来源于stack exchange,提问作者Kampet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:52:44