首页 > 解决方案 > Python git项目结构约定?

问题描述

是否有关于如何在 GitHub 上构建 python 项目的约定(甚至是 PEP)?更具体地说,python 特定的文件(我知道 README.md、许可证、.gitignore 文件)。

我整个早上都在谷歌上搜索,发现了不同的方法。他们中的大多数使用:

一个使用了一个makefile,另一个为travis添加了一个.travis.yml等等......。他们将项目目录拆分为不同的文件夹,如数据和应用程序。

我的问题:

  1. 我应该在 python 项目中包含哪些文件?有什么文件比较好?
  2. 是否有约定我应该如何安排不同的文件夹,如数据和 APP,或者我想如何拆分、命名和组织程序的不同部分?

预先感谢您的帮助

标签: pythonconventions

解决方案


这可能取决于您正在构建的内容。我在评论中链接的文章打破了不同的布局,如下所示:

CLI 布局:

  • 一次性脚本
  • 可安装单包
  • 带有内部包的应用程序

网络应用布局:

  • 姜戈
  • 烧瓶

虽然这里不鼓励仅使用链接的答案,但我认为重新散列整篇文章会适得其反,但“可安装的单个包”布局对我有用,看起来像这样(借自同一篇文章):

helloworld/
│
├── helloworld/
│   ├── __init__.py
│   ├── helloworld.py
│   └── helpers.py
│
├── tests/
│   ├── helloworld_tests.py
│   └── helpers_tests.py
│
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
└── setup.py

注意:如果您有数据目录,我会将其放在与tests


推荐阅读