python 项目目录结构
2020-01-11 14:22
2121 查看
项目目录结构,也有称为工程目录架构的,说到底无非就是几个词的组合
Python +
工程 or 项目 +
目录 +
结构 or 架构
指的都是同一个意思,指的是一个python项目的文件构成,组织的方式
良好的项目组织结构,能够提高项目可读性、可维护性(迭代更新)
能够让人一眼就能看懂目录结构,知道哪里是源码?哪里是配置文件?哪里是文档?从而能够非常快速的了解这个项目。在多人协作开发中,协作者很快就能够知道新增的文件跟代码应该放在什么目录,多次迭代更新后,项目结构也不会混乱。
流行的Python工程目录
以名为
YOLOv3XmlGenerator的项目为例,大致的文件目录如下图所示
其中
- README.md 项目介绍,一般包括使用的环境,安装的方法,软件的基本原理、测试数据及常见问题等,越详细越好
- requirements.txt 记录依赖的软件包及对应的版本号,方便读者明确项目使用了哪些Python包,可以使用命令安装所有的依赖包
pip install -r requirements.txt
,另外,可以使用pipreqs
这个工具来生成requirements.txt - setup.py, 安装、部署、打包的脚本。
为什么下载的项目还需要打包?这打包具体是什么意思 - docs 文档目录,项目配置文件通常也放在这里,关于项目配置文件,可以看看这篇文章,讲的比较全 https://martin-thoma.com/configuration-files-in-python/
- extras 有时候会使用到一些C/C++库,一般放在这个文件夹里
- scripts 存放脚本文件,比如代码仓库不适合存放很大的二进制文件,这时候可以写个脚本去拉取
- yolov3xmlgenerator 项目源码文件夹,入口文件建议命名为
main.py
,再配上__init__.py文件,另外,单元测试的代码也放在这块
下面的东西主要是项目开源的时候需要用到
- LICENSE 协议文件,可以参考这篇文章 https://www.jianshu.com/p/a57c13631d5e,讲的很详细
- ChangeLog.txt 记录版本发布的release note
- .gitignore 如果使用的是git代码管理工具,表明上传时忽略的文件,如果您使用的是svn,请忽略
参考:
https://blog.csdn.net/djstavaV/article/details/87210758
https://www.cnblogs.com/kuku0223/p/8975997.html
https://pythonguidecn.readthedocs.io/zh/latest/writing/structure.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 16Python爬虫---Scrapy目录结构以及项目创建
- python项目目录结构
- [python3.6 flask web学习]Flask项目目录结构
- Python开源项目目录结构参考
- 2.27 学python 模块项目 __name__ __file__变量 目录结构 json pickle
- python开源项目目录结构参考和django最佳实践:项目布局
- python开源项目目录结构参考
- Android项目工程目录结构说明及作用
- Java Web项目的目录结构
- spring boot 项目开发常用目录结构
- python 自动化运维项目_目录
- Android项目目录结构介绍
- myEclipse新建的web项目,目录结构说明
- 基于Maven管理的JavaWeb项目目录结构参考
- maven项目eclipse目录结构浅析
- ASP.NET MVC 入门2、项目的目录结构与核心的DLL
- ASP.NET MVC 入门 -- 2、项目的目录结构与核心的DLL
- Android 项目在Eclipse中的目录结构
- Maven项目标准目录/文件结构
- 菜鸟教程之工具使用(二)——Maven打包非规范目录结构的Web项目