Python setuptools的依赖项自动发现功能?
在使用打包Python应用程序时setuptools
,我在install_requires
列表中填充了应用程序的所有PyPI依赖项。我发现自己手动梳理所有来源以找到这些资源。这是正确的方法吗?还是可以通过某种方式自动填充此列表?
-
从我的角度来看,
install_requires
应仅列出项目的 直接
依赖关系(而不是间接的,即依赖关系的依赖关系)。因此,它通常是一个相对简短的列表,应该可以手工整理,就像您从头开始精心挑选图书馆的方式一样。在常见的情况,使用 TOX 结合一个 掉毛 工具,如
pylint的 会让你知道,如果一些 进口
解决不了,这很可能意味着库将从丢失install_requires
。如果您已经有很多依赖关系,但没有跟踪最新的依赖关系
install_requires
,那么我相信像
pipreqs 或
pigar
这样的工具可能会有所帮助(可能还有其他类似的工具,但这就是我偶然发现的工具)当在浏览以下类似的问题:1,2)。