如何将开发需求与实际应用程序依赖项分开指定?在 Python 项目中,一般情况下?

How can I specify requirements for development separately from actual application dependencies? In a Python project and in general?

为了其他开发人员,我们希望在我们的项目中指定本地开发所需的依赖项。但是,应用程序实际上并不需要这些依赖项。在 python 中,我们在 requirements.txt 中指定应用程序需要的依赖项。

specifying/pinning 开发特定(应用程序不需要)依赖项和包的最佳做法是什么?在 python 个项目中?

我使用虚拟环境的 requirements.txt 文件配置我的项目。

我还有一个 requirements.dev.txt 文件,我在其中放置了对开发人员特别有用的库。

pip install -r requirememts.dev.txt

我的requirements.dev.txt是这样的

-r requirements.txt
django-debug-toolbar>=1.7
ipython>=5.5
readline>=6.2
djangorestframework==3.8.2
djangorestframework-api-key==0.3.1

第一行导致加载标准 requirements.txt 文件