Python git 项目结构约定?
Python git project-structure convention?
是否有关于如何在 GitHub 上构建 python 项目的约定(甚至 PEP)?更具体地说 python-特定文件(我知道 README.md、许可证、.gitignore-files)。
我用谷歌搜索了整个上午,发现了不同的方法。他们中的大多数人使用:
- 一个requirements.txt个文件
- 一个setup.py个文件
一个使用了 makefile,另一个添加了一个 .travis.yml 用于 travis 等等...。
他们将项目目录拆分在数据和 APP 等不同文件夹中。
我的问题:
- 我应该在 python 项目中包含哪些文件?拥有哪些文件会更好?
- 我应该如何安排数据和 APP 等不同的文件夹有约定吗?还是由我决定如何拆分、命名和组织我的程序的不同部分?
提前感谢您的帮助
这可能取决于您正在构建的内容。我在评论中 link 编辑的 article 打破了不同的布局,如下所示:
CLI 布局:
- 一次性脚本
- 可安装的单个包
- 带有内部包的应用程序
网络应用布局:
- Django
- 烧瓶
虽然 link 这里不鼓励只回答,但我认为重复整篇文章会适得其反,但“可安装的单一软件包”布局对我有用,看起来像这样(借用同一篇文章) :
helloworld/
│
├── helloworld/
│ ├── __init__.py
│ ├── helloworld.py
│ └── helpers.py
│
├── tests/
│ ├── helloworld_tests.py
│ └── helpers_tests.py
│
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
└── setup.py
注意: 如果您有数据目录,我会把它放在与 tests
相同的级别
是否有关于如何在 GitHub 上构建 python 项目的约定(甚至 PEP)?更具体地说 python-特定文件(我知道 README.md、许可证、.gitignore-files)。
我用谷歌搜索了整个上午,发现了不同的方法。他们中的大多数人使用:
- 一个requirements.txt个文件
- 一个setup.py个文件
一个使用了 makefile,另一个添加了一个 .travis.yml 用于 travis 等等...。 他们将项目目录拆分在数据和 APP 等不同文件夹中。
我的问题:
- 我应该在 python 项目中包含哪些文件?拥有哪些文件会更好?
- 我应该如何安排数据和 APP 等不同的文件夹有约定吗?还是由我决定如何拆分、命名和组织我的程序的不同部分?
提前感谢您的帮助
这可能取决于您正在构建的内容。我在评论中 link 编辑的 article 打破了不同的布局,如下所示:
CLI 布局:
- 一次性脚本
- 可安装的单个包
- 带有内部包的应用程序
网络应用布局:
- Django
- 烧瓶
虽然 link 这里不鼓励只回答,但我认为重复整篇文章会适得其反,但“可安装的单一软件包”布局对我有用,看起来像这样(借用同一篇文章) :
helloworld/
│
├── helloworld/
│ ├── __init__.py
│ ├── helloworld.py
│ └── helpers.py
│
├── tests/
│ ├── helloworld_tests.py
│ └── helpers_tests.py
│
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
└── setup.py
注意: 如果您有数据目录,我会把它放在与 tests