如何最佳实践组织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 文件。

更新于:2019年10月1日

449 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告