2. 环境搭建
在开始批号跟踪接口开发之前,必须搭建一套稳定、可复现的开发环境。本章将依次完成Python虚拟环境配置、FastAPI框架安装、PostgreSQL数据库准备以及Postman工具介绍。这四个环节构成了从代码编写到接口调试的完整链路,任何一环的缺失都会导致后续开发受阻。
2.1 Python虚拟环境配置
虚拟环境用于隔离项目依赖,避免不同项目之间的包版本冲突。推荐使用Python内置的venv模块,无需额外安装。
2.1.1 创建虚拟环境
# 在项目根目录下执行
python -m venv venv
执行后会在当前目录生成venv文件夹,包含独立的Python解释器和pip。
2.1.2 激活虚拟环境
| 操作系统 | 激活命令 |
|---|---|
| Windows (CMD) | venv\Scripts\activate |
| Windows (PowerShell) | venv\Scripts\Activate.ps1 |
| macOS / Linux | source venv/bin/activate |
激活后,终端提示符前会出现(venv)标识,表示当前已进入虚拟环境。
2.1.3 验证环境
# 查看Python路径
which python # macOS/Linux
where python # Windows
# 查看已安装包
pip list
最佳实践:将虚拟环境目录添加到
.gitignore中,避免将依赖文件提交到版本库。使用pip freeze > requirements.txt记录依赖,方便团队成员复现环境。
2.2 FastAPI框架安装
FastAPI是一个现代、高性能的Python Web框架,基于Starlette和Pydantic构建,天然支持异步、自动生成OpenAPI文档,非常适合开发MES/ERP数据同步接口。
2.2.1 安装核心包
# 安装FastAPI和Uvicorn(ASGI服务器)
pip install fastapi uvicorn[standard]
2.2.2 安装数据库驱动
# 安装异步PostgreSQL驱动
pip install asyncpg
# 安装SQLAlchemy ORM(可选,用于复杂查询)
pip install sqlalchemy
2.2.3 验证安装
# 查看已安装包版本
pip show fastapi uvicorn asyncpg
版本参考:本课程基于FastAPI 0.110+、Uvicorn 0.29+、asyncpg 0.29+。建议使用
pip install --upgrade保持最新稳定版。
2.3 PostgreSQL数据库准备
PostgreSQL是功能最强大的开源关系型数据库,支持JSON、数组、事务、窗口函数等高级特性,是MES/ERP系统的首选数据库之一。
2.3.1 安装与启动
| 操作系统 | 安装方式 | 启动命令 |
|---|---|---|
| Windows | 下载安装包(EnterpriseDB) | 服务自动启动 |
| macOS | brew install postgresql@16 |
brew services start postgresql@16 |
| Ubuntu/Debian | apt install postgresql |
systemctl start postgresql |
2.3.2 创建数据库和用户
# 切换到postgres用户
sudo -u postgres psql
# 创建数据库
CREATE DATABASE batch_tracking;
# 创建专用用户
CREATE USER mes_user WITH PASSWORD 'MES@2024';
# 授权
GRANT ALL PRIVILEGES ON DATABASE batch_tracking TO mes_user;
# 退出
\q
2.3.3 连接测试
# 使用psql测试连接
psql -h localhost -U mes_user -d batch_tracking
安全提醒:生产环境请使用强密码,并限制数据库用户仅拥有必要权限。开发环境可适当放宽,但不要使用默认密码。
2.4 Postman工具介绍
Postman是业界最流行的API开发和测试工具,支持REST、GraphQL、WebSocket等多种协议。在批号跟踪接口开发中,我们将使用Postman发送请求、查看响应、管理环境变量。
2.4.1 核心功能
- 请求构建器:支持GET/POST/PUT/DELETE等方法,可设置Headers、Body、Params
- 环境管理:通过变量区分开发、测试、生产环境,一键切换
- 集合运行:将多个接口组织成集合,批量执行并生成测试报告
- 脚本支持:使用Pre-request Script和Tests脚本实现自动化验证
2.4.2 环境变量配置示例
| 变量名 | 初始值 | 当前值 |
|---|---|---|
base_url |
http://localhost:8000 |
http://localhost:8000 |
api_version |
v1 |
v1 |
|
your__here |
eyJhbGciOiJIUzI1NiIs... |
使用技巧:在URL中使用
{{base_url}}/api/{{api_version}}/batch-tracking格式,切换环境时只需修改变量值,无需逐个修改请求URL。
2.5 环境架构总览
下图展示了开发环境中各组件之间的协作关系:
2.6 环境验证清单
完成上述步骤后,请逐项确认以下检查点:
- 虚拟环境:终端显示
(venv)前缀,pip list输出干净 - FastAPI:执行
python -c "import fastapi; print(fastapi.__version__)"无报错 - PostgreSQL:
psql -U mes_user -d batch_tracking -c "SELECT 1;"返回1 row - Postman:成功创建集合和环境变量,能发送GET请求到本地服务
快速启动脚本:将以下内容保存为
setup.sh(Linux/macOS)或setup.bat(Windows),一键完成环境搭建:
# setup.sh 示例
python -m venv venv
source venv/bin/activate
pip install fastapi uvicorn[standard] asyncpg sqlalchemy
echo "环境搭建完成!"