构建Python模块的约定是什么?

这是一个示例项目,显示了一个很好的构造项目的方法:https : //github.com/kennethreitz/samplemod。该项目是关于创建“样本”模块的。目录结构如下所示:

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文件:该文件用于简要介绍模块,如何设置,如何使用等。

许可:包含许可文本和任何版权声明。

setup.py:这是Python对多平台安装程序的回答,并生成文件。如果您熟悉命令行安装,则将&& make install转换为python setup.py build && python setup.py install。因此,它用于在用户计算机上构建项目。

requirements.txt: Pip要求文件应指定对项目作出贡献所需的依赖关系:测试,构建和生成文档。如果您的项目没有开发依赖项,或者您更喜欢通过setup.py设置开发环境,则不需要此文件。

docs /:此目录包含您项目的文档。

tests /:您所有的测试都应位于此目录中。最初,您将只有一个测试文件。随着它们开始增长,您可以像模块目录一样构建测试。

sample /: 此目录包含您的实际模块代码。如果模块仅包含一个文件,则可以将其作为sample.py直接放置在存储库的根目录中。您的库不属于模棱两可的src或python子目录。如果您希望此模块驻留在包中,则它将包含__init__.py文件。