2. Python开发环境搭建

工欲善其事,必先利其器。做振镜打标自动化,Python 环境搭不好,后面全是坑。我个人折腾过好几套方案,最后固定下来的就是 Anaconda + VS Code + 虚拟环境管理。这套组合足够轻量、足够稳定,而且团队协作时不会出现「在我电脑上能跑」的尴尬。

为什么选 Anaconda 而不是原生 Python?

你想想看,振镜打标涉及串口通信、激光控制、G代码生成,甚至还要做简单的图像处理。原生 Python 装包时经常会遇到依赖冲突。Anaconda 自带 conda 包管理器,能帮你隔离环境,还能一键装好 numpy、pyserial 这些基础库。我自己刚开始用 pip 装库,结果某次升级不小心把系统 Python 搞崩了,重装系统才修好……后来就老实了。

我的习惯: 永远用 conda 创建虚拟环境,每个项目一个环境,互不干扰。

安装 Anaconda

  1. 去官网下载 Anaconda Individual Edition(Python 3.9 或 3.10 版本都行)。
  2. 安装时勾选「Add Anaconda to my PATH environment variable」——虽然安装向导会警告不建议,但为了命令行方便,我每次都勾上。
  3. 安装完成后打开终端(Windows 用 Anaconda Prompt),输入 conda --version,看到版本号即成功。
注意: 如果安装后找不到 conda 命令,大概率是 PATH 没配置好。手动添加 C:\Users\你的用户名\anaconda3\Scripts 到系统环境变量即可。我之前在 Windows 上踩过这个坑,折腾了半小时才发现。

VS Code 安装与配置

VS Code 是我最常用的编辑器。轻量、免费、插件丰富。安装过程很简单,下一步下一步就行。关键是装好后要做几件事:

  • 安装 Python 扩展 – 微软官方的那个,搜“Python”,安装量最高的就是。
  • 配置默认终端为 PowerShell 或 CMD – 我习惯用 PowerShell,因为它支持 conda 环境激活。
  • 设置 Python 解释器路径 – 按下 Ctrl+Shift+P,输入 Python: Select Interpreter,选择你 conda 环境里的 python.exe。
灵魂一问: 为什么需要手动选解释器?因为 VS Code 默认会找系统里的 Python,而我们的代码应该跑在 conda 虚拟环境里。不选的话,import pyserial 会报 ModuleNotFoundError。我早期项目就吃过这亏,代码在自己电脑跑通了,发给别人却报错——原因就是解释器没对齐。

虚拟环境管理:这才是核心

振镜打标项目会用到多个第三方库:pyserial(串口通信)、numpy(数学计算)、opencv-python(视觉定位,可选)等。每个库有版本要求,混在一起迟早出问题。虚拟环境就是帮你隔离这些依赖的沙箱。

创建虚拟环境其实就两条命令:

conda create -n galvo_marking python=3.10
conda activate galvo_marking

第一条创建一个名为 galvo_marking 的环境,指定 Python 3.10。第二条激活它。之后你在这个终端里安装的所有包,都只影响当前环境。

安装项目需要的包:

conda install pyserial numpy
pip install opencv-python  # 如果conda源慢,可以用pip
避坑指南: 我曾经在 conda 里混用 pip 和 conda 装包,结果导致环境依赖混乱。后来我养成了习惯:能用 conda 装的尽量用 conda,conda 没有的再用 pip,且安装前后都用 conda list 检查一遍。

环境管理三件套(我经常用):

命令 用途 个人备注
conda env list 查看所有环境 我每周都会跑一次,清理不再用的环境
conda list 查看当前环境已安装的包 排错时第一件事就是看这个
conda env export > environment.yml 导出当前环境配置 团队协作时一定要导出,别人用 conda env create -f environment.yml 直接复现
重要: 不要在基础环境(base)里安装项目依赖。基础环境是 Anaconda 自己的,搞乱了可能导致 conda 本身出问题。我见过同事把 base 环境弄崩后重装 Anaconda 的惨剧。

VS Code 集成虚拟环境

光在终端激活还不够,VS Code 里要能自动识别。做法很简单:

  1. 在 VS Code 中打开项目文件夹。
  2. 按下 Ctrl+Shift+P,运行 Python: Select Interpreter。
  3. 选择 galvo_marking 环境(通常会显示在列表里,路径类似 C:\Users\...\anaconda3\envs\galvo_marking\python.exe)。
  4. 之后打开终端(Ctrl+`),VS Code 会自动激活该环境,终端前面会有 (galvo_marking) 前缀。

有个小技巧:在项目根目录下创建 .vscode/settings.json 文件,写入:

{
    "python.defaultInterpreterPath": "C:\\Users\\你的用户名\\anaconda3\\envs\\galvo_marking\\python.exe"
}

这样项目配置就跟着代码走了,别人克隆后只需改路径就能用。我一般会把这份 settings.json 放在 .gitignore 之外(或者只提交模板),方便团队共享。

Python开发环境搭建核心流程 Python开发环境搭建 - 核心流程与结构 Anaconda 安装 管理Python及包 虚拟环境创建 conda create -n 环境名 VS Code 安装 代码编辑器 配置 Python 解释器 VS Code中选中虚拟环境 安装项目依赖 pyserial / numpy / opencv 导出环境配置 environment.yml 用于协作 💡 我的个人工作流总结 1. 安装Anaconda → 2. 创建虚拟环境(galvo_marking) 3. 安装VS Code → 4. 选解释器 → 5. conda install 依赖 6. 在项目中写代码,全程不出环境问题。 ⚠️ 踩坑经验:先激活环境再装包,先导出yml再分享。

快速验证环境是否就绪

写一段简单代码,确保串口通信库能正常用:

# test_env.py
import serial
import numpy as np
print("pyserial version:", serial.__version__)
print("numpy version:", np.__version__)
print("环境搭建成功!")

在终端运行 python test_env.py,如果能打印出版本号,恭喜你,环境已经完美跑通。后面就可以放心写振镜打标控制代码了。

为什么非要用虚拟环境? 振镜打标项目常常需要配合上位机界面(PyQt5)、摄像头(OpenCV)、数据库(SQLite)等,每个库都有版本依赖。虚拟环境相当于给每个项目一个独立的房间,你在房间里蹦迪都不会吵到别人。我之前给客户做现场调试时,现场电脑环境乌烟瘴气,直接新建一个环境、重装依赖,5分钟搞定——客户直呼专业。

好了,环境搭好,万事俱备。接下来就可以真正进入振镜打标的 Python 控制世界了。