2. 环境搭建:Python虚拟环境配置、FastAPI框架安装、PostgreSQL数据库准备、Postman工具介绍

在开始批号跟踪接口开发之前,必须搭建一套稳定、可复现的开发环境。本章将依次完成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 环境架构总览

下图展示了开发环境中各组件之间的协作关系:

批号跟踪接口开发环境架构 开发者工作站 VS Code / PyCharm FastAPI 应用 Uvicorn 服务器 PostgreSQL batch_tracking 库 代码部署 asyncpg 连接 Postman API 测试客户端 HTTP 请求 Python 虚拟环境 venv / 依赖隔离 运行时依赖 说明: 所有组件运行在本地 开发环境,无外部依赖

2.6 环境验证清单

完成上述步骤后,请逐项确认以下检查点:

  1. 虚拟环境:终端显示(venv)前缀,pip list输出干净
  2. FastAPI:执行python -c "import fastapi; print(fastapi.__version__)"无报错
  3. PostgreSQL:psql -U mes_user -d batch_tracking -c "SELECT 1;"返回1 row
  4. 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 "环境搭建完成!"