明明已经在虚拟环境中安装了宏包,在Jupyter Notebook中调用时却依然显示模块调用错误:
原因分析该情况下很可能是因为Jupyter Notebook使用的解释器是默认base环境下的Python解释器,而非我们希望的虚拟环境的Python解释器,如图,可以看到此时内核中只有默认的Python3解释器。
为了求证,我们可以分别在Jupyter Notebook和Anaconda Powershell prompt(miniconda3)中验证这一点。
可以看到,Jupyter Notebook中的Python解释器确非我们希望的虚拟环境的Python解释器。
解决方法此时可以借助ipykernel包向Jupyter Notebook中添加我们虚拟环境的内核。
!确保切换到虚拟环境后,运行以下代码段:
pip install ipykernel # 安装ipykernel包 python -m ipykernel install --name quantum # 添加虚拟环境内核,注意替换--name后的虚拟环境名称
看到以下提示则说明内核已经安装成功了,此时我们再次启动Jupyter Notebook。
此时Jupyter Notebook中已经多出了一个可供选择的内核,而且在切换内核后我们看到解释器也换成了我们虚拟环境的Python解释器,当然这个时候先前安装的宏包也可以正常使用啦。
P.S. 如果想要移除内核,只需要执行以下代码段即可。
jupyter kernelspec remove kernel_name # 移除Jupyter Notebook内核Reference
[1] Jupyter notebook 指定 Python 解释器 anaconda
[2] jupyter 增加和删除kernel - 默写年华 - 博客园



