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

时间:2018-04-20 04:24:34

标签: python path nlp anaconda jupyter-notebook

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

信息:

  • Conda Environment

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

EDIT2: 弄清楚了。我的sys.path在ipython中有所不同,并没有通过conda env进行搜索。我必须在env中运行conda install jupyter然后一切正常。显然,根jupyter无法检测你是否在环境中。

4 个答案:

答案 0 :(得分:2)

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

我必须在env中运行conda install jupyter然后一切正常。显然,根jupyter不会检测你是否在环境中。这是有道理的,因为我知道更多关于内部因素,因为它需要识别特定的ipykernel。

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

答案 1 :(得分:1)

  • 创建virtualenv

  • 激活

  • 在virtualenv上安装jupyter和spacy

pip install jupyter     
pip install spacy
  • 添加内核
pip install ipykernel
python -m ipykernel install --user --name=newkernelinvenv

启动jupyter并加载新内核

答案 2 :(得分:0)

我在Windows中安装Spacy时遇到了类似的问题。我只需要以管理员身份运行命令窗口。 有时我们会犯愚蠢的错误:)

答案 3 :(得分:0)

在Venv内未安装Jupyter的另一种方法是:

$ python -m venv projectname
$ source projectname/bin/activate
(venv) $ pip install ipykernel
(venv) $ ipython kernel install --user --name=projectname
(venv) $ conda install -c conda-forge spacy
(venv) $ jupyter notebook

积分:https://anbasile.github.io/programming/2017/06/25/jupyter-venv/