应该有一种——最好只有一种——明显的方法来做到这一点。
根据 Python 的禅宗……Python 的测试依赖管理并不可取。
管理测试依赖关系的方法有几十种。例如:dev-dependency.txt、setup.py extras_require、tests_require、setup.cfg、某种 tox 咒语(tox 支持你能想到的任何东西),我想也许是 pyproject.toml 的工具部分?
是否有关于当前最佳实践的好文章?这是一个难以驾驭的问题,有太多的可能性,我似乎无法在任何地方找到共识。
如果对于如何做到这一点没有达成普遍共识,是否有与 PyCharm 良好集成的最佳方法?我的大部分构建经验都是通过 Gradle/Maven 使用 Java,它确实有一种相当固执己见的处理依赖关系的方式,我正在寻找类似的东西(一些强烈固执己见的东西)。
这个问题有点基于意见,但我认为当前的最佳实践是将您的测试依赖项放入 pyproject.toml
中的
an extra中(当然,假设您像一个好的现代工具一样使用
pyproject.toml
项目应该;如果你不是,我推荐 Hatch)。
[project.optional-dependencies]
test = [
"pytest",
"pytest-cov",
]
这样,您可以使用
pip install -e .[test]
将这些安装在本地工作环境中(即“将此软件包安装为可编辑的,并带有额外的 test
),如果需要,可以在 tox.ini
中使用
[testenv]
extras = test