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

发布于 2021-02-02 23:15:41

想象一下,你想使用Python开发非平凡的最终用户桌面(非Web)应用程序。构造项目文件夹层次结构的最佳方法是什么?

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

尤其是:

  1. 你将源放在哪里?
  2. 你将应用程序启动脚本放在哪里?
  3. 你将IDE项目放在哪里?
  4. 你将单元/验收测试放在哪里?
  5. 你将非Python数据(例如配置文件)放在哪里?
  6. 你在哪里将非Python来源(例如C ++)用于pyd / so二进制扩展模块?
关注者
0
被浏览
91
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    没什么大不了的。令你快乐的一切都会起作用。没有很多愚蠢的规则,因为Python项目可以很简单。

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

    顶级目录可以包含自述文件,配置文件和其他内容。

    困难的选择是是否使用/src树。Python没有区别/src,/lib/binJavaC具有。

    由于/src某些人认为顶层目录没有意义,因此顶层目录可以是应用程序的顶层体系结构。

    • /foo
    • /bar
    • /baz

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

    这样,另一个项目PYTHONPATH可以包括/path/to/quux/foo重用QUUX.foo模块。

    就我而言,由于我使用Komodo Edit,因此我的IDE cuft是单个.KPF文件。实际上,我将其放在顶层/quux目录中,并省略了将其添加到SVN中的情况。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看