如何处理Requirements中的非PIP需求。txt [英] what to do with non-pip requirement in requirements.txt

查看:42
本文介绍了如何处理Requirements中的非PIP需求。txt的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我最近将我的NLP应用程序移到了一台新机器上。添加了与旧机器相同的python环境,并使用pip安装了所有依赖项。然后出现了一种不是PIP安装的依赖项,也许用"模型"来形容它更合适。安装它的命令是:

python -m spacy.en.download
现在,我想指出的是,在我的存储库中的某个地方,所以如果有一天我或其他人要在另一台PC上安装整个东西,它就在那里,这是根据Python样式指南和约定记录的。

thisSpacy页面上,它说它可以放在requirements s.txt中。当

pip freeze > requirements.txt

将创建一个文件,该文件不会捕获安装该要求的正确过程。总有一天会有人参选

pip install -r requirements.txt

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

Warning: no model found for 'en'

Only loading the 'en' tokenizer.

有谁知道如何正确地将此要求列在Requirements s.txt中?

推荐答案

Spacy的数据包实际上被包装为pip包正是出于这个原因-它们有一个setup.py、一个版本等。只是它们很大,所以不是通过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仓库分发模型。

这篇关于如何处理Requirements中的非PIP需求。txt的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆