Python 使用setuptools时,是否有任何理由列出标准库依赖项?

Python 使用setuptools时,是否有任何理由列出标准库依赖项?,python,setuptools,distutils,Python,Setuptools,Distutils,我已经进入Python打包和分发兔子洞,我想知道: 使用setuptools时,是否有任何理由提供标准库模块/包作为setup()的依赖项 还有一个旁注:。还有更好的吗 谢谢总之,不。依赖关系的要点是确保在有人安装您的库时它们可用。由于标准库在python安装时始终可用,因此不需要包含它们 有关更方便用户的包装指南,请参阅Hynek的指南: 否-事实上,您不应该将标准模块指定为setup()要求,因为这些要求仅用于从(或VCS存储库或其他软件包索引)下载软件包。例如,将“itertools”添加

我已经进入Python打包和分发兔子洞,我想知道:

使用
setuptools
时,是否有任何理由提供标准库模块/包作为
setup()
的依赖项

还有一个旁注:。还有更好的吗


谢谢

总之,。依赖关系的要点是确保在有人安装您的库时它们可用。由于标准库在python安装时始终可用,因此不需要包含它们

有关更方便用户的包装指南,请参阅Hynek的指南:
-事实上,您不应该将标准模块指定为
setup()
要求,因为这些要求仅用于从(或VCS存储库或其他软件包索引)下载软件包。例如,将
“itertools”
添加到
install\u requires
将意味着您的软件包将无法安装,因为它的依赖项无法满足,因为。一些标准模块确实与PyPI上的项目共享名称;在最佳情况下(例如),PyPI项目与标准模块兼容,并且由于历史原因/向后兼容性,仅作为单独的项目存在。在最坏的情况下。。。好吧,发挥你的想象力。

目前推荐的Python打包所有(开始)内容的文档是