Jupyter Notebook导入spacy报错:No module named spacy,但Python解释器正常
解决Jupyter Notebook无法导入Conda环境中spacy的问题
这种情况我之前也碰到过,大概率是Jupyter的内核没和你装了spacy的Conda环境对应上,给你几个可行的解决办法:
1. 先确认Jupyter当前使用的Python环境路径
在Jupyter Notebook里运行以下代码,看看输出的路径是不是你安装spacy的那个Conda环境的Python路径:
import sys print(sys.executable)
如果输出的路径和你conda activate后的环境路径不一致,那就是内核没匹配上,接下来看第二个办法。
2. 给目标Conda环境添加Jupyter内核
步骤如下:
- 先在终端激活你的Conda环境:
conda activate 你的环境名 - 给这个环境安装ipykernel(Jupyter内核依赖):
conda install ipykernel - 将该环境注册为Jupyter的可选内核:
python -m ipykernel install --user --name 你的环境名 --display-name "Python (你的环境名)" - 重启Jupyter Notebook,在右上角的内核选择菜单里,选你刚才添加的
Python (你的环境名)内核,再尝试导入spacy。
3. 直接从Conda环境启动Jupyter
如果上面的内核注册方法没用,你可以尝试直接在激活环境后启动Jupyter,这样Jupyter默认会使用当前环境的内核:
conda activate 你的环境名 jupyter notebook
然后在打开的Notebook里导入spacy试试。
4. 重新安装spacy(兜底方案)
如果前面的方法都不行,可能是安装过程有隐性问题,你可以在激活环境后重新安装spacy:
conda activate 你的环境名 conda uninstall spacy conda install -c conda-forge spacy
安装完成后先在终端的Python解释器里导入spacy确认没问题,再回到Jupyter测试。
内容的提问来源于stack exchange,提问作者netu
相关产品推荐
相关产品推荐

