如何处理 requirements.txt 中的非 pip 要求
what to do with non-pip requirement in requirements.txt
所以我最近将我的 NLP 应用程序移到了一台新机器上。使用 pyenv 添加与旧机器相同的 python 环境,并使用 pip 安装所有依赖项。然后是 pip 没有安装的 'dependency' 之类的,也许 'model' 是一个更好的词。安装它的命令是:
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 中正确列出此要求?
spaCy 的数据包实际上被包装为 pip
包,正是出于这个原因——它们有 setup.py
、版本等。只是它们很大,所以不是通过 PyPi 分发。您可以在 requirements.txt 中指向 URL 或文件路径:
许多生产用户拥有自己的 PyPi 服务器(因此他们不会从 Internet 下载任意代码)。如果这样做,您可以通过 PyPi 仓库分发模型。
所以我最近将我的 NLP 应用程序移到了一台新机器上。使用 pyenv 添加与旧机器相同的 python 环境,并使用 pip 安装所有依赖项。然后是 pip 没有安装的 'dependency' 之类的,也许 'model' 是一个更好的词。安装它的命令是:
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 中正确列出此要求?
spaCy 的数据包实际上被包装为 pip
包,正是出于这个原因——它们有 setup.py
、版本等。只是它们很大,所以不是通过 PyPi 分发。您可以在 requirements.txt 中指向 URL 或文件路径:
许多生产用户拥有自己的 PyPi 服务器(因此他们不会从 Internet 下载任意代码)。如果这样做,您可以通过 PyPi 仓库分发模型。