【发布时间】:2013-07-22 15:32:28
【问题描述】:
已编辑以提供更清晰的问题
是否有推荐或标准的方式来组织大型 python 应用程序——例如,需要不同子目录中的多个文件来组织清晰的项目。
我能找到的所有文档都在谈论包,在我看来,这在任何其他语言中都可以称为库。即主程序包含/需要的代码。包中的 setup.py 增加了这种混乱,因为它看起来应该是整个应用程序的主程序/脚本,但它被用来将模块作为库“安装”。
简而言之,将代码组织为应用程序(您实际运行的程序)的标准/建议。不是库/包(应用程序包含/使用的东西)
【问题讨论】:
-
一个 Python 文件是一个模块。问如何在不使用模块的情况下组织多个 Python 文件是没有意义的。
-
@Ryhnn 任何带有 setup.py 的应用程序都将是一个包。这并不意味着它同时不是一个独立的应用程序。包只是将多个模块组合在一起的一种形式,类似于命名空间。它与“图书馆”的含义不同。您很可能希望将您的应用程序作为一个包分发。
-
@Ryhnn 我在下面的评论中提到了它,但这更多地解释了 setup.py pythonhosted.org/distribute/… 中的入口点定义 - 包中没有“主要”入口点。只有通过脚本公开的功能。
标签: python python-3.x