MacOS Python3.10环境Jupyter Notebook导入pandas失败报错
问题根因
核心原因是你当前Jupyter Notebook运行使用的Python内核,和你安装pandas的Python环境完全不匹配:
- 你通过Homebrew安装的pandas,仅绑定Homebrew管理的Python 3.10环境,也就是你VSCode普通脚本运行时选中的那个解释器,所以普通.py文件里导包正常
- 你启动的Jupyter服务默认加载的是另一个Python环境的内核,这个环境里没有安装pandas
- 你在单元格执行
!pip3 install pandas时,命令调用的是终端默认绑定的pip3(对应Homebrew的Python环境),所以提示依赖已满足,但包装的位置根本不是当前Jupyter内核读取包的路径,重启服务也没用。
修复步骤
按顺序操作即可解决:
- 先定位当前Jupyter内核的真实Python路径,新建单元格执行以下代码:
复制输出的完整路径,这就是当前内核实际运行的解释器位置,不要用自己臆想的python3路径替代。import sys print(sys.executable) - 直接给当前内核环境安装pandas,不要用裸
pip3命令,在单元格执行:
举个例子,如果上一步输出路径是!【上一步输出的完整解释器路径】 -m pip install pandas/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10,那实际执行的命令就是:
这种调用方式会强制使用当前内核对应的pip装包,不会出现装错路径的问题。!/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 -m pip install pandas - 安装完成后,点击Jupyter菜单栏的「重启内核」按钮,等待内核重载完成后再执行
import pandas即可正常运行。
更简便的VSCode端修复方案
如果你是在VSCode内打开的Jupyter Notebook,不需要走命令装包:
- 点击VSCode窗口右上角的内核选择按钮(一般会显示当前内核的Python版本号)
- 在弹出的解释器列表里,直接选中你之前运行普通Python脚本、能正常导入pandas的那个Python 3.10解释器
- 等待内核自动重载完成后,直接导包即可正常使用。
注意:后续给Jupyter环境装第三方包时,优先使用
import sys; !{sys.executable} -m pip install 包名的写法,能彻底避免包装到错误环境的问题,不要直接用裸pip/pip3命令。
内容的提问来源于stack exchange,提问作者Dave Shields
相关产品推荐
相关产品推荐

