2. 开发环境搭建:工欲善其事,必先利其器
说实话,做嵌入式上位机开发这么多年,我踩过最大的坑就是环境没搭好。有一次项目赶工期,我图省事直接在系统Python里装了一堆库,结果版本冲突搞得我三天没睡好觉。从那以后,我养成了一个习惯——每个项目都建独立的虚拟环境。今天咱们就把这套流程走一遍,保证你以后少走弯路。
2.1 Python环境安装
Python版本怎么选?我个人建议用3.8或3.9。为什么?因为PyQt5和pymodbus在这两个版本上最稳定。我试过3.11,有些老库还没完全适配,你想想看,项目做一半发现库装不上,多闹心。
去官网下载安装包时,记得勾选「Add Python to PATH」。这个选项很多人会忽略,结果在命令行里打python提示找不到命令。嗯,这里要注意,安装路径最好别带中文和空格,不然以后编译某些C扩展时会报一些莫名其妙的错。
python --version 和 pip --version,确认两个都能正常显示版本号。这一步花不了10秒钟,但能帮你排除80%的环境问题。
2.2 PyCharm配置与虚拟环境创建
PyCharm有社区版和专业版。做咱们这个项目,社区版完全够用,别花冤枉钱。下载安装后,第一件事就是配置解释器。
创建虚拟环境其实很简单。打开PyCharm,新建项目时,在「Interpreter」选项里选择「New environment using Virtualenv」。位置默认在项目目录下的venv文件夹,我建议你别改,这样团队协作时大家都能找到。
为什么要用虚拟环境?说白了,就是给每个项目一个独立的Python「小房间」。你在A项目里装PyQt5 5.15,在B项目里装PyQt5 5.12,互不干扰。我曾经见过一个同事,所有项目共用一套环境,结果升级一个库导致三个项目全崩了……
2.3 依赖库管理
咱们这个项目需要三个核心库:PyQt5、pymodbus、sqlite3。sqlite3是Python自带的,不用额外安装。重点说说前两个。
| 库名 | 版本建议 | 用途 |
|---|---|---|
| PyQt5 | 5.15.x | GUI界面开发 |
| pymodbus | 3.5.x | Modbus通信协议实现 |
| sqlite3 | 内置 | 本地数据存储 |
安装命令很简单,在PyCharm的终端里执行:
pip install PyQt5==5.15.9
pip install pymodbus==3.5.2
这里有个坑——PyQt5的安装包比较大,大概50MB左右。如果你网络不好,可以换国内镜像源:
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成后,怎么验证?写个简单的测试代码:
import PyQt5
import pymodbus
import sqlite3
print("PyQt5版本:", PyQt5.QtCore.PYQT_VERSION_STR)
print("pymodbus版本:", pymodbus.__version__)
print("sqlite3版本:", sqlite3.sqlite_version)
如果能正常打印版本号,说明环境搭建成功了。
2.4 知识体系总览
为了让你对整个开发环境有个直观认识,我画了张图。这张图展示了咱们搭建环境的完整流程和各个组件之间的关系:
从这张图可以看出来,整个环境搭建是层层递进的。先装Python,再装PyCharm,然后在PyCharm里创建虚拟环境,最后在虚拟环境里安装依赖库。每一步都依赖上一步,所以千万别跳步。
2.5 依赖管理的最佳实践
项目做大了,依赖管理就变得特别重要。我推荐你用requirements.txt来记录所有依赖。生成方法很简单:
pip freeze > requirements.txt
这个文件会记录当前虚拟环境里所有库的精确版本号。以后换电脑或者团队协作时,别人只需要执行:
pip install -r requirements.txt
就能复现一模一样的开发环境。我在一个项目里吃过亏——开发环境好好的,部署到客户机器上就报错,最后发现是库版本不一致。从那以后,requirements.txt就成了我每个项目的标配。
好了,环境搭好了,下一章咱们就开始写第一个PyQt5窗口。到时候你会发现,前面这些准备工作有多值。
公众号:蓝海资料掘金营,微信deep3321