Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 减少需求.txt_Python_Requirements.txt - Fatal编程技术网

Python 减少需求.txt

Python 减少需求.txt,python,requirements.txt,Python,Requirements.txt,有没有办法减少我的需求。一年前我换了Python,当时我还不完全了解事情是如何运作的。所以,当我需要创建requirements.txt时,我只是做了一个pip冻结,并复制通过了所有的需求。今天我知道我不需要它们,只需要导入其他需求的顶层,有什么方法可以实现吗?有几个选项 pip工具 如果您在项目中使用的是pip,您会非常感激。首先将您的需求手动放入requirements.in,然后使用pip compile生成最终的requirements.txt,其中包含所有依赖项。假设项目的依赖项是Dj

有没有办法减少我的需求。一年前我换了Python,当时我还不完全了解事情是如何运作的。所以,当我需要创建requirements.txt时,我只是做了一个pip冻结,并复制通过了所有的需求。今天我知道我不需要它们,只需要导入其他需求的顶层,有什么方法可以实现吗?

有几个选项

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有问题

有几个选项

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,所以我说“如果需要,最终导出它们。否则您可以跳过导出步骤…”