Python 项目工程化开发指南

GitHub Workflow Status (branch)

文档目标:

以通俗易懂结构清晰的文档向读者展示如何做 Python 工程化

受众目标:

  • Python 初学者
  • Python 初级开发
  • Python 中级开发

指南主要包含以下主题:

  • 快速上手(一个最通用,最初级的示例项目)
  • 开发前准备
    • Python 环境的安装
    • 虚拟环境管理
    • IDE 的选择
  • Python 规范
    • 风格规范
    • 语言规范
  • 项目工程化
    • 初级教程(一个包含完整开发流程的示例项目)
      • 初始化项目
      • 功能开发
      • 测试
      • 打包发布
    • 进阶教程
      • 类型标注
      • 使用配置系统
      • 如何用好日志
      • 异常管理
      • 如何更好得测试
      • 用信号解耦逻辑
      • 支持插件化
    • 项目管理
      • 代码检测
      • 项目结构
      • 文档管理
      • 打包发布
  • 开发实践
    • Web
      • Fastapi
      • Django
      • Flask
    • 爬虫
      • Scrapy
      • aiohttp
    • 数据库
      • SQLALchemy

如果您对文档有任何建议或意见,欢迎提交 issues 进行讨论。当然我们更期待与您共同协作开发,让文档变得更加完善。

使用方式

1. 克隆项目

git clone https://github.com/pyloong/pythonic-project-guidelines

2. 初始化环境

项目预览需要安装 Python 环境来启动 server,强烈建议使用 Python 3.6+ 的版本。如果本地没有 Python 环境,也可以使用 Docker预览服务器 来启动。

2.1 本地初始化

安装依赖

pip install -r requirements.txt

2.2 使用 Docker 初始化

docker pull squidfunk/mkdocs-material

3. 预览

3.1 本地预览

mkdocs serve

3.2 使用 Docker 预览

uinx:

docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material

Windows:

docker run --rm -it -p 8000:8000 -v "%cd%":/docs squidfunk/mkdocs-material

协作规范

文档使用 Markdown 编写,使用 mkdocs 配合 mkdocs-material 主题构建。

  • form
  • code
  • pr