ipython中的“没有名为spacy的模块”,但在常规python解释器中工作正常

net*_*etu 7 python nlp path anaconda jupyter-notebook

我目前正在尝试使用 Jupyter Notebooks 导入 spacy 并遇到问题。每次我尝试导入它时,它都会说它找不到模块,即使常规的 python shell 解释器工作得很好。

信息:

  • 康达环境

  • 使用 conda install -c conda-forge spacy 安装

  • 出现在 conda 列表中 | grep 空间

  • Jupyter 可以在 conda env 中找到其他包,只是没有 spacy

感谢您提供任何帮助。

编辑:终端命令:

1. cd into project directory 2. conda create -n <env name> 3. source activate <env name> 4. conda install -c conda-forge spacy 5. python -m spacy download en 6. python - import spacy #works! - nlp = spacy.load('en') #works! - quit() 7. ipython - import spacy ModuleNotFoundError: No module named 'spacy'

EDIT2:想通了。我的 sys.path 在 ipython 中是不同的,并且没有搜索 conda env。我不得不在环境中运行 conda install jupyter 然后一切正常。显然,根 jupyter 无法检测您是否在环境中。

net*_*etu 6

弄清楚了。我的 sys.path 在 ipython v python shell 中是不同的。ipython 没有在 conda 环境中搜索。

我不得不在环境中运行 conda install jupyter 然后一切正常。显然,根 jupyter 无法检测您是否在环境中。现在我对内部结构有了更多的了解,因为它需要与特定的 ipykernel 进行识别,因此这是有道理的。

希望这可以帮助其他人遇到同样的问题。