文章目录
- 1 问题复现
- 2 查看内核位置
- 3 调整python解释器位置
1 问题复现
在conda虚拟环境中使用pip安装相应package, 但是在jupyter notebook中加载该package时报错
[ERROR]ModuleNotFoundError: No module named 'shap'
此时,除去包安装出现问题以外,我们需要考虑是否是包安装位置与notebook引擎位置不一致
2 查看内核位置
首先,我们使用sys包分别在虚拟环境和jupyter notebook 内查看python解释器位置
import sys
sys.executable
倘若我们发现使用pip安装相应包的虚拟环境和jupyter notebook的python解释器位置不同,这时我们需要将jupyter notebook的python解释器位置调整至虚拟环境中相应位置,有两种方法
3 调整python解释器位置
- 第一种方法直接通过jupyter notebook UI完成,我们可以通过jupyter notebook自带选项栏中尝试选择合适的kernel
如果选项栏中不存在相应的kernel位置,我们需要进行手动添加,:
$ jupyter kernelspec list
$ python -m ipykernel install --user --name=<新内核名称> --display-name=<新内核显示名称> --prefix=<内核安装位置>
注意,添加的解释器时ipykernel新安装的,如果希望jupyter notebook关联已有解释器,我们需要修改其配置文件:
更改jupyter notebook 解释器的方法如下
- 输入
jupyter kernelspce list
查看解释器路径 - 进入解释器路径所在文件夹
- 编辑kernel.json文件
- 修改解释器路径,在
argv
字段中将原来的解释器路径修改为新的解释器路径
问题解决。