小编典典

Python 应用程序的最佳项目结构是什么?

all

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

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

特别是:

  1. 你把源放在哪里?
  2. 您将应用程序启动脚本放在哪里?
  3. 你把 IDE 项目放在哪里?
  4. 你把单元/验收测试放在哪里?
  5. 您将非 Python 数据(例如配置文件)放在哪里?
  6. 对于 pyd/so 二进制扩展模块,您将非 Python 源代码(例如 C++)放在哪里?

阅读 112

收藏
2022-03-01

共1个答案

小编典典

没有太大关系。任何让你开心的事情都会奏效。没有很多愚蠢的规则,因为 Python 项目可以很简单。

  • /scripts或者/bin对于那种命令行界面的东西
  • /tests为您的测试
  • /lib用于您的 C 语言库
  • /doc对于大多数文档
  • /apidoc对于 Epydoc 生成的 API 文档。

顶级目录可以包含 README、Config 等。

艰难的选择是是否使用/src树。Python不像 Java 或 C 那样区分/src/lib和。/bin

由于/src某些人认为顶级目录毫无意义,因此您的顶级目录可以是您应用程序的顶级架构。

  • /foo
  • /bar
  • /baz

我建议将所有这些放在“我的产品名称”目录下。因此,如果您正在编写一个名为 的应用程序quux,则包含所有这些内容的目录名为 /quux

PYTHONPATH然后,另一个项目的可以包含/path/to/quux/foo以重用该QUUX.foo模块。

就我而言,因为我使用 Komodo Edit,所以我的 IDE cuft 是单个 .KPF
文件。我实际上将它放在顶级/quux目录中,并省略了将其添加到 SVN。

2022-03-01