关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结构。
假设你的项目名为foo, 我比较建议的最方便快捷目录结构这样就足够了:
Foo/
|-- bin/
| |-- foo
|
|-- foo/
| |-- tests/
| | |-- __init__.py
| | |-- test_main.py
| |
| |-- __init__.py
| |-- main.py
|
|-- docs/
| |-- conf.py
| |-- abc.rst
|
|-- setup.py
|-- requirements.txt
|-- README
bin/: 存放项目的一些可执行文件,当然你可以起名script/之类的也行。
foo/: 存放项目的所有源代码。
(1) 源代码中的所有模块、包都应该放在此目录。不要置于顶层 目录。
(2) 其子目录tests/存放单元测试代码;
(3) 程序的入口最好命名为main.py。
docs/: 存放一些文档。
setup.py: 安装、部署、打包的脚本。
requirements.txt: 存放软件依赖的外部Python包列表。
README: 项目说明文件。
Tools目录:Python 提供的一些工具
wiki/ 如果有wiki,可以创建此目录
scripts/ 项目用到的各种脚本
tests/ 测试代码
lib/ 库文件,放自定义模块和包
etc 是Linux下的配置文件的老家, 很多管理和使用的修改都在这里
Share 是Python共享目录
Include是Python包含、共享目录
Tcl 桌面编程包
两者还是有区别的,放在lib中的是被reference(引用)的,放在libs中的是被include的。放在libs中的文件会自动被Eclipse(下载)所include(包含)。所以不要把API(应用程序接)放到libs里去。比如ndk生成的so,是在libs中的,这时候你就需要把它拷贝到lib中,而不是libs中,否则你ref