Python 项目实战系列 — (6)企业级 Python 项目模板(Serverless / Web)
目录
二、模板一:企业级 Serverless Python 项目(AWS)
三、模板二:企业级 Web Python 项目(FastAPI)

企业级 Python 项目模板(Serverless / Web),覆盖 Serverless(AWS Lambda) 与 传统 Web(FastAPI) 两种主流形态。
一、整体设计目标(企业级)
- 统一依赖管理
- 支持多环境(dev / test / prod)
- 可 CI/CD
- 可观测(日志 / 追踪)
- 可扩展(中大型项目)
- 云原生 / Serverless Ready
二、模板一:企业级 Serverless Python 项目(AWS)
1️⃣ 技术选型(标准化)
| 层级 | 选型 |
| 运行时 | Python 3.11 |
| 框架 | AWS Lambda + API Gateway |
| IaC | AWS SAM |
| 依赖管理 | pip + requirements |
| 日志 | logging + CloudWatch |
| 配置 | 环境变量 |
| 测试 | pytest |
| 代码规范 | black + flake8 |
2️⃣ 目录结构
serverless-python-project/ ├── template.yaml # SAM 模板 ├── requirements.txt # 生产依赖 ├── requirements-dev.txt # 开发依赖 ├── src/ │ ├── app.py # Lambda 入口 │ ├── config.py # 配置加载 │ ├── router.py # 路由分发 │ ├── services/ │ │ └── user_service.py │ ├── models/ │ │ └── user.py │ └── utils/ │ └── logger.py ├── tests/ │ └── test_app.py ├── scripts/ │ ├── deploy.sh │ └── local_run.sh ├── .env.example ├── .gitignore └── README.md3️⃣ template.yaml(最小可运行)
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Globals: Function: Runtime: python3.11 Timeout: 10 MemorySize: 512 Resources: BackendFunction: Type: AWS::Serverless::Function Properties: CodeUri: src/ Handler: app.lambda_handler Events: Api: Type: Api Properties: Path: /{proxy+} Method: ANY4️⃣ Lambda 入口(app.py)
from router import route from utils.logger import get_logger logger = get_logger() def lambda_handler(event, context): logger.info("event received") return