笔者在当前运行的py文件中有如下语句:
import numba
程序运行报错:ModuleNotFoundError: No module named 'numba'
于是笔者在终端使用pip install命令下载numba包,然而报错当前解释器已经有这个包了,无法安装,在终端pip list发现确实有这个包,那么为什么会报错找不到呢?因为终端的解释器和代码运行的解释器不是同一个。这个可以通过查看两者的解释器得到结论,使用下面的语句可以查看代码运行的解释器:
import sys
print(sys.executable) # 输出解释器绝对路径
类似地,在终端运行下述命令可以查看终端的解释器:
python -c "import sys; print(sys.executable)"
结论是确实不一样,修改代码运行使用的解释器,就可以了。
如果要以编译器所在的解释器为主环境,修改终端的环境,点击终端窗口右侧的感叹号标识,点击重新启动终端,这样终端和编译器所在的环境就一致了。
可以给不同环境的代码新建不同的终端,来回切换,这样就不会存在终端和编译器运行环境不一致报错了。