3. 环境搭建与工具:Python开发环境配置、Postman工具使用、Flask框架快速入门、虚拟环境管理

说实话,做运动控制API开发,环境搭不好,后面全是坑。

我见过太多人,代码写得挺漂亮,结果一跑起来,不是包冲突就是版本不对。折腾半天,最后发现是Python环境没配好。嗯,咱们今天就把这事一次性搞定。

3.1 Python开发环境配置

我个人习惯用Python 3.8+。为什么?因为运动控制领域很多底层库(比如pySerial、Modbus库)对3.8支持最稳。你非要用3.12也行,但有些老库可能就罢工了。

第一步:安装Python

去官网下载,记得勾选「Add Python to PATH」。这个选项不勾,后面你敲python命令会提示找不到。我刚开始学的时候就被这个坑过,折腾了半小时。

第二步:验证安装

python --version
pip --version

如果能看到版本号,说明装好了。看不到?检查环境变量。

第三步:安装IDE

我推荐VS Code,轻量、插件多。装好之后,再装这几个插件:

  • Python(微软官方那个)
  • Pylance(代码补全)
  • Jupyter(调试方便)
小技巧: 在VS Code里按 Ctrl+Shift+P,输入「Python: Select Interpreter」,选你刚装的那个Python版本。这样就不会跑错环境了。

3.2 虚拟环境管理

为什么要用虚拟环境?说白了,就是隔离。

你想想看,项目A要用Flask 1.0,项目B要用Flask 2.0。如果全装全局,那肯定打架。虚拟环境就是给每个项目一个独立的小房间。

创建虚拟环境:

python -m venv venv

第一个venv是模块名,第二个venv是文件夹名。我习惯叫venv,也有人叫.env,随你。

激活虚拟环境:

Windows:

venv\Scripts\activate

Mac/Linux:

source venv/bin/activate

激活后,命令行前面会出现(venv)字样。这时候你装任何包,都只在这个项目里生效。

注意: 我曾经犯过一个错——把虚拟环境文件夹提交到了Git仓库。千万别!虚拟环境是本地生成的,不同系统不通用。记得在.gitignore里加上venv/。

退出虚拟环境:

deactivate

3.3 Flask框架快速入门

Flask是Python里最轻量的Web框架。做运动控制API,用它正合适。为什么?因为运动控制接口通常不复杂,就是几个RESTful端点,Flask够用、不臃肿。

安装Flask:

pip install flask

写一个最简单的API:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/status', methods=['GET'])
def get_status():
    # 模拟读取运动控制器状态
    status = {
        'axis_x': 120.5,
        'axis_y': 45.2,
        'speed': 1000,
        'is_moving': False
    }
    return jsonify(status)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)

这段代码干了什么?

  • 创建了一个Flask应用
  • 定义了一个GET接口 /api/status
  • 返回运动控制器的当前状态(JSON格式)
  • 启动服务,监听所有IP的5000端口

跑起来之后,浏览器打开 http://localhost:5000/api/status,就能看到返回的JSON数据。

核心要点: Flask的route装饰器就是定义API端点。methods参数指定HTTP方法(GET、POST、PUT、DELETE)。返回用jsonify,自动转成JSON格式。

3.4 Postman工具使用

API写好了,怎么测?总不能每次都开浏览器吧。Postman就是干这个的。

安装: 去官网下载,免费版够用。

基本用法:

  1. 打开Postman,点击「New Collection」,给集合起个名(比如「运动控制API」)
  2. 点击「Add Request」,输入请求名(比如「获取状态」)
  3. 选择HTTP方法(GET),输入URL(http://localhost:5000/api/status)
  4. 点击「Send」,看响应

测试POST请求:

假设我们要发送一个控制指令:

POST http://localhost:5000/api/move
Body -> raw -> JSON:
{
    "axis": "x",
    "position": 200.0,
    "speed": 500
}

在Postman里,选POST方法,Body选raw,格式选JSON,然后粘贴上面的JSON。点Send,就能看到响应。

我的习惯: 每个API接口,我都会在Postman里保存一个示例请求。这样后面调试、演示都方便。而且Postman支持导出成代码片段,可以直接生成Python的requests代码。

3.5 知识体系总览

下面这张图,是我自己画的环境搭建流程。你看一眼,心里就有数了。

运动控制API开发环境搭建流程 Python 3.8+ 虚拟环境 venv Flask框架 RESTful API开发 Postman测试 基础环境 隔离依赖 Web框架 业务逻辑 接口验证

这张图从左到右、从上到下,就是咱们搭建环境的完整路径。每一步都踩实了,后面写代码才不慌。

3.6 避坑指南

最后,分享几个我踩过的坑:

  • 端口被占用: 启动Flask时提示端口被占用,换个端口就行。或者用 netstat -ano | findstr :5000 查一下谁在用。
  • 跨域问题: 前端调API时,浏览器报跨域错误。加个 flask-cors 包就能解决。
  • 中文乱码: 返回JSON里有中文,显示乱码。在 app.run() 里加 charset='utf-8'

一句话总结: 环境搭好了,后面的事就顺了。别急着写代码,先把地基打牢。


专注资料整理