3、Python开发环境搭建:Python 3.10+安装、虚拟环境管理、依赖管理(pip/poetry)、IDE选择(VS Code/PyCharm)

好,咱们正式开始动手了。

这一章,我带你把Python开发环境搭起来。别小看这一步,我在产线项目里见过太多因为环境不一致导致的诡异问题——开发机跑得好好的,一到产线工控机就报错。说白了,环境搭建是自动化框架的基石,地基不稳,后面全是坑。

3.1 Python 3.10+ 安装:选对版本,少走弯路

我个人习惯用Python 3.10或3.11。为什么不是最新的3.12?因为有些ATE仪器厂商的SDK还没跟上,你想想看,产线急着上线,结果发现某个库不兼容,那得多尴尬。

推荐版本:Python 3.10.11 或 3.11.5
下载地址:python.org(别去第三方网站下,我吃过亏)
安装要点:安装时记得勾选「Add Python to PATH」

安装完成后,打开命令行验证一下:

python --version
# 输出示例:Python 3.10.11

pip --version
# 输出示例:pip 23.2.1 from ...

嗯,这里要注意。如果你电脑上同时装了多个Python版本,建议用 py -3.10 来指定版本。我在项目中遇到过,某台工控机装了Python 2.7和3.8,结果pip装包全装到2.7里去了,排查了半天。

3.2 虚拟环境管理:隔离才是王道

为什么要用虚拟环境?说白了,就是给每个项目一个独立的Python「小房间」。你想想看,项目A需要numpy 1.21,项目B需要numpy 1.26,要是装在一个全局环境里,早晚打架。

Python自带的 venv 模块就够用,轻量又稳定。我一般在项目根目录下创建虚拟环境:

# 创建虚拟环境
python -m venv .venv

# 激活(Windows)
.venv\Scripts\activate

# 激活(Linux/Mac)
source .venv/bin/activate

# 退出
deactivate
我的习惯:虚拟环境文件夹命名为 .venv(带点号),这样在文件管理器里默认隐藏,看着清爽。另外,记得把 .venv/ 加到 .gitignore 里,别把环境文件提交到Git仓库。

激活后,命令行前面会出现 (.venv) 前缀,说明你已经在虚拟环境里了。这时候安装的所有包,都只在这个项目里生效。

3.3 依赖管理:从 pip 到 poetry

依赖管理,说白了就是管好你的「包清单」。产线项目通常需要锁定所有依赖的精确版本,不然今天能跑,明天升级个库就崩了。

3.3.1 pip + requirements.txt(入门级)

最基础的方式,用 pip freeze 导出当前环境的包列表:

pip freeze > requirements.txt

别人拿到你的项目后,执行:

pip install -r requirements.txt

就能复现你的环境。但这种方式有个问题——它只记录了你当前装的包,不记录依赖的依赖。我曾经在产线遇到过,一台工控机因为系统自带的 six 库版本不同,导致整个框架启动报错。嗯,从那以后我开始用更专业的工具。

3.3.2 poetry(进阶级,我强烈推荐)

Poetry 是现在Python社区比较认可的依赖管理工具。它解决了 pip freeze 的几个痛点:

  • 自动解析依赖树,避免版本冲突
  • 生成 poetry.lock 文件,锁定所有依赖的精确版本
  • 支持项目元数据管理(名称、版本、作者等)
  • 内置虚拟环境管理,不用手动 venv

安装 poetry:

pip install poetry

初始化项目:

poetry new tpms-framework
cd tpms-framework
poetry add pyserial numpy pyvisa

Poetry 会自动创建虚拟环境,并生成 pyproject.tomlpoetry.lock。别人拿到项目后,只需要:

poetry install

就能完全复现你的环境,连依赖的依赖版本都一模一样。

避坑指南:我曾经在产线工控机上用 poetry 时,发现它默认的虚拟环境路径在 C:\Users\xxx\AppData\Local\pypoetry,但工控机是域环境,用户目录有权限限制。解决方案是在项目根目录下创建 .venvpoetry config virtualenvs.in-project true

3.4 IDE选择:VS Code vs PyCharm

这个问题经常有人问。我的回答是:看场景。

对比项 VS Code PyCharm
启动速度 快(秒开) 慢(尤其加载大项目)
内存占用 低(200-400MB) 高(1-2GB起步)
Python调试 够用,需配置 launch.json 开箱即用,功能强大
远程开发 优秀(Remote SSH 插件) 专业版支持
插件生态 丰富,但需自己组合 集成度高,开箱即用
学习成本 中等 较低(对新手友好)
价格 免费 社区版免费,专业版收费

我个人在产线调试时用 VS Code 居多。原因很简单——产线工控机配置一般不高,PyCharm 跑起来风扇呼呼转。而且 VS Code 的 Remote SSH 插件让我能直接连到工控机上写代码,不用来回拷贝文件。

但如果你刚入门,或者项目比较大(比如几十个模块),PyCharm 的代码补全和重构功能确实更顺手。我建议你两个都装,根据场景切换。

VS Code 必装插件清单:
  • Python(微软官方)
  • Pylance(代码补全和类型检查)
  • Python Docstring Generator(自动生成文档注释)
  • GitLens(查看代码历史)
  • Remote - SSH(远程开发必备)

3.5 实战:搭建你的第一个TPMS项目环境

好,理论说完了,咱们动手走一遍。假设你要创建一个叫 tpms-ate 的项目:

# 1. 创建项目目录
mkdir tpms-ate
cd tpms-ate

# 2. 初始化 poetry 项目
poetry init

# 3. 添加核心依赖
poetry add pyserial==3.5    # 串口通信
poetry add numpy==1.24.3    # 数据处理
poetry add pyvisa==1.13.0   # 仪器控制(如果你用GPIB/以太网仪器)
poetry add pytest==7.4.0    # 单元测试

# 4. 添加开发依赖
poetry add --dev black==23.7.0    # 代码格式化
poetry add --dev flake8==6.1.0    # 代码检查
poetry add --dev mypy==1.5.0      # 类型检查

# 5. 激活虚拟环境
poetry shell

# 6. 验证安装
python -c "import serial; print(serial.__version__)"

看到输出版本号,说明环境搭好了。这时候你的项目目录结构应该是这样的:

tpms-ate/
├── .venv/              # 虚拟环境(poetry自动创建)
├── pyproject.toml      # 项目配置和依赖声明
├── poetry.lock         # 锁定版本文件
├── tpms_ate/           # 源码目录
│   └── __init__.py
└── tests/              # 测试目录
    └── __init__.py
重要提醒:poetry.lock 提交到Git仓库!这个文件记录了所有依赖的精确版本,是保证「开发环境=产线环境」的关键。我见过有人把 .lock 文件加到 .gitignore 里,结果产线部署时依赖版本不一致,折腾了一整天。

好了,环境搭好了。下一章咱们开始写真正的TPMS通信代码。你想想看,有了这个干净的环境,后面写代码、调试、部署,都会顺畅很多。

公众号:蓝海资料掘金营,微信deep3321