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

标签 python path nlp anaconda jupyter-notebook

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

信息:

  • conda 环境

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

  • 出现在 conda 列表中 | grep spacy

  • 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'

编辑2: 弄清楚了。我的 sys.path 在 ipython 中是不同的,并且没有在 conda env 中搜索。我必须在环境中运行 conda install jupyter 然后一切正常。显然,root jupyter 不会检测您是否在环境中。

最佳答案

想通了。我的 sys.path 在 ipython v python shell 中不同。 ipython 没有搜索 conda env。

我必须在环境中运行 conda install jupyter 然后一切正常。显然,root jupyter 不会检测你是否在环境中。现在这很有意义,因为我需要更多地了解内部结构,因为它需要识别特定的 ipykernel。

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

关于python - python 中的“没有名为 spacy 的模块”,但在常规 python 解释器中工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49933974/

相关文章:

java - 在Java(REST api)中,您如何指定位于同一路径的2个资源,以便执行取决于客户端提供的版本?

python nltk 从句子中提取关键字

python - Django 如何验证用户是否已经存在

带有点列表的python boundingRect

mysql - RVM 与 Mysql

java - Path.resolve(other) java.nio.file.Path 方法

r - 自然语言识别并赋值为 "en", "fr", "tr"

android - 任何(粗略的)相当于 iOS NSLinguisticTagger for android?

Python Werkzeug : modify Request values (forms and args) prior to retrieval

javascript - 将变量值分配给模板中的表单字段