我习惯了Java模型,其中每个文件可以有一个公共类。Python没有这个限制,我想知道组织类的最佳实践是什么。

假设您想要用Python开发一个重要的终端用户桌面(而不是web)应用程序。构建项目文件夹层次结构的最佳方法是什么?

理想的特性是易于维护、ide友好性、适合源代码控制分支/合并,以及易于生成安装包。

特别是:

你把源头放在哪里? 应用程序启动脚本放在哪里? 你把IDE项目的cruft放在哪里? 你把单元/验收测试放在哪里? 你把非python数据放在哪里,比如配置文件? 你把非python源代码放在哪里,比如pyd/二进制扩展模块的c++ ?