有几个选项。
点子工具
如果您在项目中使用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 有问题