为了账号安全,请及时绑定邮箱和手机立即绑定

减少要求.txt

减少要求.txt

至尊宝的传说 2023-07-05 15:30:57
有没有办法减少我的requirements.txt 我一年前转向Python,当时我并不完全理解事情是如何工作的。因此,当我需要创建 requests.txt 时,我只需执行 pip freeze 并复制通过了所有要求。今天我知道我不需要它们全部只是顶级的导入其他需求有没有办法实现它?
查看完整描述

1 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

有几个选择。

pip工具

pip如果您在项目中使用,您可以欣赏pip-tools。首先将您的需求手动放入requirements.in,然后pip-compile您可以生成包含所有依赖项的最终版本requirements.txt。假设您的项目的依赖项是 Django 和 Ansible。你把它们放进去requirements.in是这样的:

# requirements.in
django
ansible

然后运行pip-compile以获取整个依赖图:

$ pip-compile requirements.in

#

# 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 add,并最终在需要时导出它们。否则,您可以跳过导出步骤,因为诗歌可以通过以下方式生成用于分发的包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 --without-hashes

我正在使用--without-hashes,因为 AppEngine 有问题


查看完整回答
反对 回复 2023-07-05
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信