python - Python git项目结构约定?
问题描述
是否有关于如何在 GitHub 上构建 python 项目的约定(甚至是 PEP)?更具体地说,python 特定的文件(我知道 README.md、许可证、.gitignore 文件)。
我整个早上都在谷歌上搜索,发现了不同的方法。他们中的大多数使用:
- 一个 requirements.txt 文件
- 一个 setup.py 文件
一个使用了一个makefile,另一个为travis添加了一个.travis.yml等等......。他们将项目目录拆分为不同的文件夹,如数据和应用程序。
我的问题:
- 我应该在 python 项目中包含哪些文件?有什么文件比较好?
- 是否有约定我应该如何安排不同的文件夹,如数据和 APP,或者我想如何拆分、命名和组织程序的不同部分?
预先感谢您的帮助
解决方案
这可能取决于您正在构建的内容。我在评论中链接的文章打破了不同的布局,如下所示:
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
推荐阅读
- python - 检测到人脸时出现索引错误
- azure-data-factory - ADF 的 REST API:检查 https URL 是否可用
- android - React Native APK 大小混淆
- css - 如何在单个弹性容器中将弹性项目设为左右
- random-forest - Weka 随机森林属性定义
- android - Flutter:Firebase 动态链接在 IOS 中不起作用
- python - 为什么 Visual Studio 代码无法识别我安装了 Pygame?
- c# - Nlog - Web.config 规则 - 仅用于 Global.asax 文件的日志文件?
- hdf5 - 关于通过 HDF5 导入数据的问题
- typescript - 重复检查与创建一组打字稿