2 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果您想讓您的用戶免于運(yùn)行該下載,則必須使用您自己的源打包和分發(fā)它。這個(gè)過程稱為供應(yīng)商(請(qǐng)參閱這篇很棒的帖子以深入解釋如何在 python 中最好地做到這一點(diǎn),或 pip-project 的_vendor/__init__.py評(píng)論示例),它可能非常方便,但容易讓你煩惱如果過度,問題。
_vendor簡(jiǎn)單地說,您在包的源代碼目錄中創(chuàng)建一個(gè)名為(或類似的)的附加 python 包,并將下載的de_core_news_sm包復(fù)制到其中:
example_pkg
├── import_model.py
├── __init__.py
└── _vendor
├── __init__.py
└── de_core_news_sm
├── de_core_news_sm-2.1.0
│ ├── accuracy.json
│ ├── meta.json
│ ├── ner/
│ ├── parser/
│ ├── tagger/
│ ├── vocab/
│ └── tokenizer
├── __init__.py
└── meta.json
site_packages您可以在安裝它的 python 解釋器中找到該包python -m spacy download de_core_news_sm,即$(which python)/site_packages/de_core_news_sm.
最后,您需要將模型的所有導(dǎo)入從 更改import de_core_news_sm為from example_pkg._vendor import de_core_news_sm,然后它應(yīng)該可以工作。
添加回答
舉報(bào)