如何将 Spacy en_core_web_md 模型放入 Python 包中
How to place Spacy en_core_web_md model in Python package
我正在构建一个 python 包,我正在使用 Spacy 库和 Spacy 模型 en_core_web_md。它不能使用 pip 安装。你可以这样安装
python -m spacy download en_core_web_md
我的 Python 包中有 en_core_web_md 文件夹。
simple_eda
- init.py
- simple_eda.py
- en_core_web_md
测试
setup.py
README.md
许可证
我可以成功安装包,但是当我导入时,它给我这个错误。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/shahid/anaconda3/envs/eda_test_6/lib/python3.5/site-packages/simple_nlp/__init__.py", line 1, in <module>
from simple_nlp.simple_nlp import SimpleNLP
File "/home/shahid/anaconda3/envs/eda_test_6/lib/python3.5/site-packages/simple_nlp/simple_nlp.py", line 22, in <module>
nlp = spacy.load("en_core_web_md")
File "/home/shahid/anaconda3/envs/eda_test_6/lib/python3.5/site-packages/spacy/__init__.py", line 30, in load
return util.load_model(name, **overrides)
File "/home/shahid/anaconda3/envs/eda_test_6/lib/python3.5/site-packages/spacy/util.py", line 175, in load_model
raise IOError(Errors.E050.format(name=name))
OSError: [E050] Can't find model 'en_core_web_md'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
我应该把文件夹放在哪里,或者我应该在 setup.py 文件中的那个文件夹中添加一个 link?
这解决了我的问题。
try:
nlp = spacy.load('en')
except OSError:
print('Downloading language model for the spaCy POS tagger\n'
"(don't worry, this will only happen once)", file=stderr)
from spacy.cli import download
download('en')
nlp = spacy.load('en')
我正在构建一个 python 包,我正在使用 Spacy 库和 Spacy 模型 en_core_web_md。它不能使用 pip 安装。你可以这样安装
python -m spacy download en_core_web_md
我的 Python 包中有 en_core_web_md 文件夹。
simple_eda
- init.py
- simple_eda.py
- en_core_web_md
测试
setup.py
README.md
许可证
我可以成功安装包,但是当我导入时,它给我这个错误。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/shahid/anaconda3/envs/eda_test_6/lib/python3.5/site-packages/simple_nlp/__init__.py", line 1, in <module>
from simple_nlp.simple_nlp import SimpleNLP
File "/home/shahid/anaconda3/envs/eda_test_6/lib/python3.5/site-packages/simple_nlp/simple_nlp.py", line 22, in <module>
nlp = spacy.load("en_core_web_md")
File "/home/shahid/anaconda3/envs/eda_test_6/lib/python3.5/site-packages/spacy/__init__.py", line 30, in load
return util.load_model(name, **overrides)
File "/home/shahid/anaconda3/envs/eda_test_6/lib/python3.5/site-packages/spacy/util.py", line 175, in load_model
raise IOError(Errors.E050.format(name=name))
OSError: [E050] Can't find model 'en_core_web_md'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
我应该把文件夹放在哪里,或者我应该在 setup.py 文件中的那个文件夹中添加一个 link?
这解决了我的问题。
try:
nlp = spacy.load('en')
except OSError:
print('Downloading language model for the spaCy POS tagger\n'
"(don't worry, this will only happen once)", file=stderr)
from spacy.cli import download
download('en')
nlp = spacy.load('en')