首页 文章

如何处理requirements.txt中的非点子要求

提问于
浏览
0

所以我最近将我的NLP应用程序移到了一台新机器上 . 使用pyenv添加了与旧机器相同的python环境,并使用pip安装了所有依赖项 . 然后有一个'依赖'的种类没有由pip安装,也许'模型'是一个更好的词 . 安装它的命令是:

python -m spacy.en.download

现在,我想要注意我的存储库中的某个地方,所以如果有一天我或其他人将整个东西安装在另一台PC上,那么根据Python样式指南和惯例注明 .

this spaCy页面上,它说它可以进入requirements.txt . 而

pip freeze > requirements.txt

将创建一个文件,这将无法捕获安装该要求的正确过程 . 有一天会有人跑

pip install -r requirements.txt

..并且仍会遇到与我相同的错误

Warning: no model found for 'en'

Only loading the 'en' tokenizer.

有谁知道如何在requirements.txt中正确列出此要求?

1 回答

  • 1

    spaCy的数据包实际上被包装为 pip 包,正是出于这个原因---它们有一个 setup.py ,一个版本等 . 它's just that they'很大,所以不通过PyPi分发 . 但是,您可以指向requirements.txt中的URL或文件路径:

    https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-1.2.0/en_core_web_sm-1.2.0.tar.gz

    许多 生产环境 用户托管他们自己的PyPi服务器(因此他们不会从互联网上下载任意代码) . 如果这样做,您可以通过PyPi仓库分发模型 .

相关问题