- 引言
- 本书涉及的内容
- 第 1 部分 Python 开发入门
- 第 1 章 Python 入门
- 第 2 章 开发 Web 应用
- 第 3 章 Python 项目的结构与包的创建
- 第 4 章 面向团队开发的工具
- 第 5 章 项目管理与审查
- 第 6 章 用 Mercurial 管理源码
- 第 7 章 完备文档的基础
- 第 8 章 模块分割设计与单元测试
- 第 9 章 Python 封装及其运用
- 第 10 章 用 Jenkins 持续集成
- 第 11 章 环境搭建与部署的自动化
- 第 12 章 应用的性能改善
- 第 13 章 让测试为我们服务
- 第 14 章 轻松使用 Django
- 第 15 章 方便好用的 Python 模块
- 附录 A VirtualBox 的设置
- 附录 B OS(Ubuntu)的设置
3.1 Python 项目
用 Python 开发的应用程序达到一定规模后,必然会出现多个模块(.py)或程序包目录。同时除源码以外,说明性质的文本文件、管理相关程序库的元信息等都会越来越多。这些为同一个目的服务的文件、目录以及元信息,就是我们所说的项目。
实际上,Python 项目的内部结构是因项目而异的。这里,一个完整的结构需要满足以下条件。
· 拥有一个在版本管理之下的源码目录
· 程序信息在 setup.py 中定义
· 在一个 virtualenv 环境中运行
对于 Python 开发上的一些约定俗成的工具来说,满足上述条件的结构更便于处理。我们在第 1 章中介绍的 pip 和 virtualenv 都属于这类工具。
这些 Python 中的约定俗成的工具也随着时代逐渐变化着。近年来 PEP 标准正被逐渐推行。为了规范这些约定俗成的东西,2013 年成立了 PyPA(Python Packaging Authority)工作组。PyPA 负责 Python 封装方面相关工具的维护,以及 PEP 标准化等工作。许多老牌的封装相关工具都被移交给 PyPA 管理,包括本书中使用的 pip、virtualenv、wheel 现在也都由 PyPA 提供。
如今,许多 Python 项目的结构都以 PyPA 提供的工具为参照,选用了适合这些工具的文件、目录结构。
如果项目的结构符合标准,那么它与工具之间就会有很强的亲和力,而且便于今后自己或其他开发者进一步开发。另外,本章中介绍的结构与流程不但适用于个人的开发环境,同样也适用于团队的开发环境。
NOTE
在 PyPA 的封装文档中,将以发布为目的的一个整体单位称为一个项目(Project)。
https://packaging.python.org/en/latest/glossary.html#term-project
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论