Python虚拟环境安装numpy、scipy后Jupyter导入报ModuleNotFoundError如何解决
故障解决步骤
核心原因
Jupyter Notebook当前使用的内核并非你D盘vir目录下的虚拟环境Python解释器,因此无法读取虚拟环境中安装的第三方库。
操作步骤
第一步:验证路径不匹配问题
- 激活你的虚拟环境:
- CMD环境执行:
D:\vir\Scripts\activate.bat - PowerShell环境执行:
D:\vir\Scripts\Activate.ps1
- CMD环境执行:
- 激活后在命令行执行
where python,记录输出的虚拟环境Python路径 - 打开当前报错的Jupyter Notebook,运行代码段:
输出的路径如果和上一步记录的虚拟环境Python路径不一致,即可确认是内核不匹配问题。import sys print(sys.executable)
提示:后续给该虚拟环境安装依赖时,务必先激活虚拟环境,优先使用
python -m pip install 包名的格式执行安装,避免调用到全局pip导致依赖装错位置。
第二步:修复方案(二选一即可)
方案1:将虚拟环境注册为Jupyter内核
- 保持虚拟环境处于激活状态,执行命令安装ipykernel:
pip install ipykernel - 执行内核注册命令:
python -m ipykernel install --user --name=vir_venv
其中--name后的名称可自定义,用于后续在Jupyter中识别该内核 - 重启Jupyter Notebook,已打开的笔记可通过顶部菜单栏
Kernel -> Change kernel选择刚注册的vir_venv内核,新建笔记时直接选择对应内核即可。
方案2:直接在虚拟环境内启动Jupyter
- 保持虚拟环境处于激活状态,执行命令安装Jupyter(未安装的情况下):
pip install jupyter - 在激活虚拟环境的命令行中直接执行
jupyter notebook启动服务,此时默认内核即为当前虚拟环境的Python解释器。
第三步:校验
切换内核后重新执行print(sys.executable),确认路径为D:\vir目录下的Python程序,再运行import numpy import scipy即可正常导入。
内容的提问来源于stack exchange,提问作者Yashi Goyal
相关产品推荐
相关产品推荐

