如何最佳实践组织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 的多平台安装程序和 makefile 的解决方案。如果您熟悉命令行安装,那么 make && make install 等同于 python setup.py build && python setup.py install。因此,它用于在用户机器上构建您的项目。
requirements.txt: Pip 需求文件应指定参与项目所需的依赖项:测试、构建和生成文档。如果您的项目没有开发依赖项,或者您更喜欢通过 setup.py 设置开发环境,则此文件是不必要的。
docs/: 此目录包含项目的文档。
tests/: 所有测试都应位于此目录中。最初,您将只有一个测试文件。随着测试的增长,您可以像模块目录一样组织测试。
sample/: 此目录包含您的实际模块代码。如果您的模块仅包含单个文件,您可以将其直接放在存储库的根目录中,例如 sample.py。您的库不应位于不明确的 src 或 python 子目录中。如果您希望此模块驻留在包中,它将包含一个 __init__.py 文件。
广告