python项目目录结构建议

在我们团队,我们看到用python写代码的同学,他们的项目目录结构都非常乱,五花八门,每个同学都是随意的按照自己的喜好来创建文件夹,源码散落在这个文件夹中,很难看出代码的入口是在哪里。

JAVA有标准的maven目录结构,golang也有建议的目录结构,那么我想python是不是也有一个比较好的目录结构组织方式呢。我看了下几个比较流行的python开源项目。

我也网上查了一下best practice https://stackoverflow.com/questions/193161/what-is-the-best-project-structure-for-a-python-application

基本上可以归纳出一个比较大众的,符合开源社区习惯的目录结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
├── README.md
├── docs
├── project
│   ├── __init__.py
│   ├── __main__.py
│   ├── moduleA
│   │   ├── __init__.py
│   │   └── packageA.py
│   └── moduleB
│   └── __init__.py
├── setup.py
└── tests
└── moduleA
└── test_packageA.py

我们可以借鉴这种方式来安排目录结构.