3、上位机开发环境搭建:操作系统要求(Windows 10/11)、Python版本选择(3.8-3.11)、Anaconda环境配置、PyCharm项目初始化
做光刻机软件系统,上位机开发环境是第一步。这一步要是没搭好,后面写再多代码也是白搭。我个人习惯是先把环境理清楚,再动手。今天咱们就聊聊怎么把Windows上的Python开发环境整利索。
核心要点:开发环境的一致性比版本新不新更重要。团队里所有人用同一套环境,能省掉90%的「在我电脑上能跑啊」这种破事。
3.1 操作系统要求:Windows 10/11
说实话,Windows 10和11都行。但我建议用Windows 10 LTSC版或者Windows 11专业版。为什么?
- 稳定性优先:光刻机上位机软件一跑可能就是几天几夜,系统蓝屏可不是闹着玩的。我在项目中遇到过Windows 11家庭版莫名其妙更新重启,直接把光刻机曝光流程打断了...从那以后,我坚持用专业版或企业版。
- 驱动兼容性:很多运动控制卡、采集卡的驱动,对Windows 10的支持更成熟。Windows 11虽然兼容,但偶尔会有小坑。
- 系统位数:必须64位。32位系统内存限制4GB,跑个PyCharm加几个数据处理库就卡死了。
我的小技巧:装完系统第一件事,关掉Windows自动更新。不是不让它更新,而是等我们确认驱动和软件都兼容了,再手动打补丁。我曾经因为一个补丁导致PySerial串口通信延迟暴增,排查了两天才找到原因。
3.2 Python版本选择:3.8 - 3.11
Python版本选哪个?我直接给结论:Python 3.9.13 是目前最稳妥的选择。
| Python版本 | 推荐度 | 理由 |
|---|---|---|
| 3.8.x | ⭐⭐⭐ | 兼容性最好,但部分新库已停止支持 |
| 3.9.x | ⭐⭐⭐⭐⭐ | 性能与兼容性的最佳平衡点,我目前主力版本 |
| 3.10.x | ⭐⭐⭐⭐ | 新特性多,但部分科学计算库还有兼容问题 |
| 3.11.x | ⭐⭐⭐ | 速度提升明显,但生态还不够成熟 |
为什么会推荐3.9?你想想看,光刻机上位机要用到PyQt5/PySide2做界面,用numpy做数据处理,用pyvisa做仪器通信。这些库在3.9上跑得最稳。3.10开始,有些库的二进制包还没跟上,得自己编译,麻烦得很。
注意:千万别用Python 3.12及以上版本!很多工业库(比如pyvisa-py、pylablib)还没适配。我有个同事图新鲜装了3.12,结果折腾了一周,最后还是乖乖换回3.9。
3.3 Anaconda环境配置
Anaconda这东西,说白了就是个Python环境管理器。为什么非要用它?因为光刻机项目往往要同时维护多个环境——有的跑旧代码用Python 3.8,有的新开发用3.9,还有的测试环境用3.11。Anaconda能让你一键切换,互不干扰。
安装步骤我就不啰嗦了,说几个关键点:
- 安装路径不要有中文和空格。我见过有人装到「D:\软件\Python环境」下面,结果一堆库报路径错误。
- 安装时勾选「Add Anaconda to my PATH environment variable」。虽然安装向导不建议,但咱们做开发,命令行里直接敲conda要方便得多。
- 配置国内镜像源。不然下载包能等到你怀疑人生。
# 配置清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
# 创建光刻机项目专用环境
conda create -n s206d_env python=3.9
# 激活环境
conda activate s206d_env
# 安装常用库
conda install numpy scipy matplotlib pyqt5 pyserial pyvisa
避坑指南:我曾经在创建环境时忘了指定Python版本,结果conda给我装了个3.12。然后装PyQt5时报错,说找不到匹配的包。折腾半天才发现是版本问题。所以创建环境时一定记得加 python=3.9。
3.4 PyCharm项目初始化
PyCharm是我做上位机开发的首选IDE。社区版免费,功能足够用。专业版多了数据库和远程开发功能,看个人需求。
初始化项目的步骤:
- 新建项目:File → New Project
- 选择解释器:选「Previously configured interpreter」→ 找到刚才创建的
s206d_env环境 - 项目结构:我习惯这样组织代码
S206D_Software/
├── src/ # 源代码
│ ├── main.py # 主入口
│ ├── ui/ # 界面相关
│ ├── control/ # 运动控制
│ ├── communication/ # 通信模块
│ └── utils/ # 工具函数
├── config/ # 配置文件
├── logs/ # 日志文件
├── tests/ # 单元测试
├── docs/ # 文档
└── requirements.txt # 依赖清单
嗯,这里要注意一点:一定要生成requirements.txt。这样团队其他人拿到代码,直接 pip install -r requirements.txt 就能复现环境。
# 在终端中执行(确保s206d_env环境已激活)
pip freeze > requirements.txt
3.5 本章知识体系总览
下面这张图是我画的开发环境搭建逻辑图,你看一眼就能明白整个流程:
这张图把整个流程串起来了。从操作系统开始,一层层往上搭,每一步都踩实了再走下一步。我见过太多人跳步骤——系统没配好就装Python,环境没创建就装库,最后出了问题都不知道从哪查起。
最后说一句:环境搭建这事儿,看着简单,但真出问题的时候特别磨人。花半小时把环境整利索,比后面花两天排查「为什么我的代码跑不起来」要划算得多。这是我做了这么多年光刻机软件,最深的体会。