Django 项目的依赖

Dependencies of Django Project

我创建了 setup.pysetup.cfg,如 Django docs 中所述。

现在我不确定如何将依赖项添加到我的项目中。

如果有人安装了我的代码,Pillow 等其他工具应该会自动安装。

我读到 install_requires 是正确的方式(不是 requirements.txt),但是如何指定呢?

文件 setup.py 看起来很普通,所有内容都在 setup.cfg.

但是我看到的所有示例都在 setup.py 中通过 install_requires.

列出了它们的依赖项列表

如何指定Django项目的依赖关系?

有点奇怪,缺少关于此的 Django 文档。但是,是的,setup()install_requires 参数或 setup.cfg 中的 install_requires 键是可行的方法。

你应该依赖 Django,如果你依赖 Pillow,也应该依赖 Pillow。

您仍然可以使用 requirements.txt,如果您希望对未来友好(因为 setup.py 即将淘汰 - 但这需要很长时间),建议您这样做。

综上所述,我要补充:

requirements.txt

Django==maj.min.patch
Pillow==maj.min.patch

setup.py

#!/usr/bin/env python
from setuptools import setup
import os.path


def read_requirements():
    path = os.path.join(os.path.dirname(__file__), "requirements.txt")
    with open(path, "rt") as f:
        requirements = f.read()

    return requirements.splitlines(keepends=False)


setup(install_requires=read_requirements())