虚拟机中的Ubuntu安装了jupyter,提示找不到模块 但是实际上pip3 list 可以看到这个模块,而且相同的脚本在终端命令行python3下可以运行。在jupyter的右上角可以看到使用的就是python3这个kernel: 于是先查找两个系统的python3分别在哪里:
终端命令行中的python
$ which python3
/usr/bin/python3
或者在python交互界面输入
import sys
sys.executable
jupyter中的python
这两个python显然不一样。 然后我回想当时先用pip安装juypter完成之后,我运行了jupyter notebook --generate-config 报错: 当时我就又通过sudo snap install jupyter 又安装了一遍。所以jupyter跑的就是snap安装的那个jupyter自带的python。
然而此时查看/home/parallels/.local/share/jupyter/kernels/python3/kernel.json 文件却还是/usr/bin/python3
解决方案:
卸载snap安装的jupyter即可。一切就顺利了。
snap remove jupyter
然后再运行jupyter notebook ,就正常了,右上角显示如下图: 代码运行正常, sys.executable 返回/usr/bin/python3 。
注:
- PD安装的Ubuntu20自带python3,但是无python2。默认pip和pip3指向同一个位置。
- 实际上我是用了pyenv来管理python版本,这里我把pyenv的默认python指向了system的python3。为了简化描述,我没有在正文中提及,并对返回的内容进行了些许修改,但是使用pyenv+jupyter是没问题的。
|