Python 减少需求.txt
有没有办法减少我的需求。一年前我换了Python,当时我还不完全了解事情是如何运作的。所以,当我需要创建requirements.txt时,我只是做了一个pip冻结,并复制通过了所有的需求。今天我知道我不需要它们,只需要导入其他需求的顶层,有什么方法可以实现吗?有几个选项 pip工具 如果您在项目中使用的是Python 减少需求.txt,python,requirements.txt,Python,Requirements.txt,有没有办法减少我的需求。一年前我换了Python,当时我还不完全了解事情是如何运作的。所以,当我需要创建requirements.txt时,我只是做了一个pip冻结,并复制通过了所有的需求。今天我知道我不需要它们,只需要导入其他需求的顶层,有什么方法可以实现吗?有几个选项 pip工具 如果您在项目中使用的是pip,您会非常感激。首先将您的需求手动放入requirements.in,然后使用pip compile生成最终的requirements.txt,其中包含所有依赖项。假设项目的依赖项是Dj
pip
,您会非常感激。首先将您的需求手动放入requirements.in
,然后使用pip compile
生成最终的requirements.txt
,其中包含所有依赖项。假设项目的依赖项是Django和Ansible。您将它们放入需求中。在中,如下所示:
# requirements.in
django
ansible
然后运行pip compile
以获得整个依赖关系图:
$pip编译要求。在
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile requirements.in
#
ansible==2.9.12 # via -r requirements.in
cffi==1.14.2 # via cryptography
cryptography==3.1 # via ansible
django==1.11.29 # via -r requirements.in
jinja2==2.11.2 # via ansible
markupsafe==1.1.1 # via jinja2
pycparser==2.20 # via cffi
pytz==2020.1 # via django
pyyaml==5.3.1 # via ansible
six==1.15.0 # via cryptography
诗
如果您正在使用,那么您可以通过添加
继续添加依赖项,并最终在需要时导出它们。否则,您可以跳过导出步骤,因为poetry可以通过poetry build
为您生成分发包:
$poetry add django
Using version ^3.1 for django
Updating dependencies
Resolving dependencies... (1.4s)
Writing lock file
Package operations: 3 installs, 0 updates, 0 removals
- Installing asgiref (3.2.10)
- Installing sqlparse (0.3.1)
- Installing django (3.1)
您可以在pyproject.toml
中找到所有依赖项。如果您需要将其导出到requirements.txt
:
$poetry export-f requirements.txt-o requirements.txt——不带散列
我使用的是——没有散列
,因为AppEngine有问题有几个选项
pip工具
如果您在项目中使用的是pip
,您会非常感激。首先将您的需求手动放入requirements.in
,然后使用pip compile
生成最终的requirements.txt
,其中包含所有依赖项。假设项目的依赖项是Django和Ansible。您将它们放入需求中。在中,如下所示:
# requirements.in
django
ansible
然后运行pip compile
以获得整个依赖关系图:
$pip编译要求。在
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile requirements.in
#
ansible==2.9.12 # via -r requirements.in
cffi==1.14.2 # via cryptography
cryptography==3.1 # via ansible
django==1.11.29 # via -r requirements.in
jinja2==2.11.2 # via ansible
markupsafe==1.1.1 # via jinja2
pycparser==2.20 # via cffi
pytz==2020.1 # via django
pyyaml==5.3.1 # via ansible
six==1.15.0 # via cryptography
诗
如果您正在使用,那么您可以通过添加
继续添加依赖项,并最终在需要时导出它们。否则,您可以跳过导出步骤,因为poetry可以通过poetry build
为您生成分发包:
$poetry add django
Using version ^3.1 for django
Updating dependencies
Resolving dependencies... (1.4s)
Writing lock file
Package operations: 3 installs, 0 updates, 0 removals
- Installing asgiref (3.2.10)
- Installing sqlparse (0.3.1)
- Installing django (3.1)
您可以在pyproject.toml
中找到所有依赖项。如果您需要将其导出到requirements.txt
:
$poetry export-f requirements.txt-o requirements.txt——不带散列
我使用的是——没有散列
,因为AppEngine有问题您的requirements.txt应该列出所有内容,因此每个依赖项的版本都是固定的,您不会对突然更新引入的bug感到惊讶。您可能需要一个setup.py,它只列出您的直接依赖项。您的requirements.txt应该列出所有内容,因此每个依赖项的版本都是固定的,您不会对突然更新引入的bug感到惊讶。你可能需要一个setup.py,它只列出你的直接依赖项。如果你使用诗歌,你实际上不需要requirements.txt,因为.lock文件会替换它。是的,这就是为什么我说“如果需要,最终导出它们。否则你可以跳过导出步骤…”如果你使用诗歌,你实际上不需要requirements.txt,因为.lock文件替换了它.yes,所以我说“如果需要,最终导出它们。否则您可以跳过导出步骤…”