Python模块结构的惯例是什么?
下面是一个展示如何很好地组织项目的示例: https://github.com/kennethreitz/samplemod. 该项目关于创建“sample”模块。目录结构如下:
README.rst
LICENSE
setup.py
requirements.txt
sample/__init__.py
sample/core.py
sample/helpers.py
docs/conf.py
docs/index.rst
tests/test_basic.py
tests/test_advanced.py
README.rst文件:该文件是为了简要描述模块的内容,设置方法,使用方法等等。
LICENSE: 包含许可证文本和任何版权声明。
setup.py: 它是Python的多平台安装程序构建文件的答案。如果您熟悉命令行安装,那么make && make install可以翻译成python setup.py build && python setup.py install。因此,它用于在用户机器上构建您的项目。
requirements.txt: Pip requirements文件应指定对项目有贡献所需的依赖项:测试、构建和生成文档。如果您的项目没有开发依赖项,或者您更喜欢通过setup.py设置开发环境,则不需要此文件。
docs/: 此目录包含您项目的文档。
tests/: 所有测试都应放在此目录中。最初,您只有一个测试文件。随着测试的增长,您可以像模块目录一样构建测试。
sample/: 此目录包含实际模块代码。如果您的模块只包含一个文件,则可以将其直接放置在存储库的根目录下,例如sample.py。您的库不应该位于模棱两可的src或python子目录中。如果您想使此模块驻留在软件包内,则将包含一个__init__.py
文件。
阅读更多:Python 教程