Jupyter Notebook导入外部模块均提示ModuleNotFoundError的解决问询
解决Jupyter Notebook导入conda安装模块提示"module not found"的问题
看起来你踩了conda环境隔离的坑啦——Jupyter现在绑定的是Miniconda的Python解释器,但你把依赖包都装在了Anaconda的环境里,直接复制pkgs文件夹没用的,因为conda的环境是独立的,pkgs只是安装缓存,真正生效的是环境目录下的site-packages文件夹。给你几个靠谱的解决方法:
方法一:把Anaconda环境添加为Jupyter内核
这是最推荐的方式,能保留两个环境的独立性:
- 打开Anaconda Prompt(或你的终端),先激活Anaconda的环境:
conda activate base # 如果你的Anaconda用的是base环境,换成你实际的环境名也可以 - 给这个环境安装ipykernel(用来让Jupyter识别它):
conda install ipykernel -y - 将Anaconda环境注册为Jupyter的内核:
这里的python -m ipykernel install --user --name=anaconda-env --display-name="Anaconda (Base)"--name是内核的内部标识,--display-name是你在Jupyter里看到的名字,自己取就行。 - 重启Jupyter Notebook,在页面右上角的内核选择器里选你刚添加的
Anaconda (Base),再导入模块就没问题了。
方法二:在Miniconda环境里重新安装依赖包
如果想直接用当前Jupyter绑定的Miniconda环境,那就直接在这个环境里装包:
- 激活Miniconda的环境:
conda activate c:\users\reese\miniconda3 - 一次性安装所有需要的模块:
conda install trackpy numpy scipy matplotlib -y - 重启Jupyter,用原来的内核导入模块即可。
方法三:修改现有Jupyter内核的解释器路径
如果不想新增内核,直接改现有内核的解释器指向Anaconda:
- 找到Jupyter的内核配置文件夹,一般在
C:\Users\reese\.jupyter\kernels\python3(对应默认的Python内核) - 打开里面的
kernel.json文件,把"argv"数组里的Python路径改成Anaconda的解释器路径:{ "argv": [ "c:\\users\\reese\\Anaconda\\python.exe", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "Python 3 (Anaconda)", "language": "python" } - 保存文件后重启Jupyter,原来的内核就会用Anaconda的解释器,自然能找到已安装的模块。
内容的提问来源于stack exchange,提问作者staedtlerr
相关产品推荐
相关产品推荐

