'No module named spacy' iPython 中,但在常规 Python 解释器中工作正常



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

信息:

  • 康达环境

  • 使用 Conda
  • 安装 -C Conda-Forge Spacy 安装

  • 出现在Conda List | grep spacy

  • Jupyter 可以在 conda env 中找到其他包,只是不宽敞

感谢您提供的任何帮助。

编辑:终端命令:

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 安装 jupyter,然后一切正常。显然,根 jupyter 不会检测到您是否在环境中。

通了。我的 sys.path 在 ipython 和 python shell 中是不同的。iPython没有搜索Conda Env。

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

希望这有助于遇到相同问题的其他任何人。

  • 创建虚拟环境

  • 激活它

  • 在 Virtualenv 上安装 Jupyter 和 Spacy

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

启动 Jupyter 并加载新内核

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

在 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/

相关内容

  • 没有找到相关文章

最新更新