我没有看到多个顶级包Python发行版的许多示例。这样做有哪些优点/缺点:
当您拥有稍微相关的代码时,似乎多个顶级软件包分发可以避免多次管理元数据和其他打包基础结构。这可能不那么麻烦,新贡献者可以避免多分发设置(可能需要他们更多地了解setuptools等)。它以损失为代价。粒度依赖。但是,使用模块和子包进行分离的单个顶级包将具有相同的缺点。也许我看到这里存在的差异并不存在?
我有一些不像一个包的内部代码 - 例如一个大型工具,一组较小的不相关工具,以及一些共享数据模型和粘合代码。其他工具和库可能会跟随,我希望人们也希望访问已安装的datamodel软件包/模块以获取临时脚本。
为了争论:
使用bigtool
,utils
和datamodel
顶级软件包的单个发行版是否有意义?或者大多数人在顶层有一个空的包(一些整体项目名称),只是通过子包提供分离?如果您因某种原因需要独立构建/安装它们(例如,分离依赖项),则可以稍后转移到多分发。