M1 MacBook VSCode Jupyter下Pylance导入识别与%matplotlib notebook问题
排查方案
一、Pylance无法解析第三方库导入问题
- 确认VSCode Python解释器和Jupyter内核匹配:按下
Cmd+Shift+P打开命令面板,选择「Python: Select Interpreter」,选中你安装第三方库的miniforge对应环境解释器。Pylance默认依赖全局选择的Python解释器路径检索依赖包,和Jupyter内核配置独立,容易出现不同步的情况。 - 手动添加依赖包检索路径:激活对应miniforge环境后,执行
python -c "import site; print(site.getsitepackages())"获取site-packages目录路径,打开VSCode的settings.json配置文件,添加配置:"python.analysis.extraPaths": ["你获取到的site-packages路径"] - 调整Pylance分析模式:将
python.analysis.typeCheckingMode配置调整为basic,strict模式下对M1架构的预编译第三方库兼容性较差,容易出现识别失败的问题。 - 确认依赖安装位置:激活对应miniforge环境后执行
conda list,检查numpy等第三方库是否安装在当前环境下,避免错装到其他Python环境。
二、%matplotlib notebook无法使用交互功能问题
- 替换为官方推荐的交互式后端:
%matplotlib notebook属于旧版本后端,VSCode Jupyter插件已停止优先支持,替换为%matplotlib widget即可使用缩放、拖拽等交互功能。 - 安装交互式后端依赖:激活对应miniforge环境后执行
conda install ipympl,ipympl是matplotlib widget后端的必须依赖,未安装时会出现<IPython.core.display.HTML object>的提示。 - 更新Jupyter插件到最新版本:旧版本Jupyter插件对M1芯片的交互式渲染存在已知兼容bug,更新到最新稳定版可解决大部分适配问题。
- 关闭实验性渲染功能:打开VSCode设置,搜索
jupyter.experimental.enableNotebookExperimentalRenderer,关闭该选项后重启VSCode窗口再重试。 - 验证环境兼容性:在终端启动原生jupyter notebook,用Safari打开后测试
%matplotlib widget是否正常工作,如果原生环境可用则说明是VSCode插件问题,可尝试降级Jupyter插件到前几个稳定版本即可。
内容的提问来源于stack exchange,提问作者geguze
相关产品推荐
相关产品推荐

