我目前正在尝试使用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无法检测你是否在环境中。
答案 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/