4. 开发环境搭建:Python环境配置、PyCharm安装与调试、虚拟环境管理、常用库安装
说实话,做SCADA监控平台开发,第一步就是把你的电脑武装起来。很多新手一上来就急着写代码,结果装个库报错半天,最后发现是Python版本不对——这种事我见得太多了。
这一章,我带你一步步把环境搭好。别嫌麻烦,基础打牢了,后面才能跑得快。
4.1 Python环境配置
Python版本怎么选?我个人习惯用Python 3.8或3.9。为什么?因为pymodbus和opcua这两个库在3.10以上版本偶尔会出兼容问题。我在项目里踩过这个坑,后来就固定在3.9了。
下载与安装步骤:
- 去Python官网下载对应版本(Windows选Windows installer 64-bit)
- 安装时记得勾选
Add Python to PATH—— 这个很多人会忘 - 安装完成后,打开命令行输入
python --version验证
验证命令:
python --version
Python 3.9.13
pip --version
pip 21.2.4
嗯,这里要注意:如果你电脑上装了多个Python版本,建议用 py -3.9 来指定版本。我曾经因为默认Python指向了3.11,结果装pymodbus死活报错,折腾了一下午才发现是版本问题。
4.2 PyCharm安装与调试
编辑器我推荐PyCharm Community版,免费且够用。当然你用VS Code也行,但PyCharm的调试功能和项目结构管理,做SCADA这种大型项目会更顺手。
安装要点:
- 下载Community版(专业版要钱,没必要)
- 安装时勾选
.py关联 - 启动后设置中文插件(如果你习惯英文界面可以跳过)
第一个调试示例:
新建一个项目,写个简单的测试脚本:
# test_env.py
import sys
print(f"Python版本: {sys.version}")
print("环境搭建成功!")
点击行号旁边设置断点,然后右键选择 Debug。你会看到程序停在断点处,可以逐行查看变量值。这个功能在调试Modbus通信时特别有用——你能亲眼看到数据包是怎么收发的。
我的小技巧: 调试时按 Alt+F8 可以快速计算表达式,不用每次都写print。
4.3 虚拟环境管理
为什么要用虚拟环境?说白了,就是防止不同项目之间的库打架。你想想看,项目A需要pymodbus 2.5,项目B需要pymodbus 3.0,如果装在一起,总有一个会崩。
创建虚拟环境:
# 打开终端,进入项目目录
python -m venv scada_env
# 激活环境(Windows)
scada_env\Scripts\activate
# 激活环境(Mac/Linux)
source scada_env/bin/activate
激活后,命令行前面会出现 (scada_env) 字样,说明你已经在虚拟环境里了。这时候安装的所有库都只影响当前项目。
注意: 千万不要把虚拟环境文件夹提交到Git里!在项目根目录创建 .gitignore 文件,写上 scada_env/ 即可。
在PyCharm里配置虚拟环境也很简单:File → Settings → Project → Python Interpreter,选择 Add Interpreter → Existing environment,然后找到你刚才创建的 scada_env/Scripts/python.exe 就行。
4.4 常用库安装
好,环境有了,编辑器有了,虚拟环境也配好了。接下来就是装我们真正要用的库。我按顺序来:
# 先升级pip
python -m pip install --upgrade pip
# 安装核心库
pip install pymodbus==3.5.2
pip install opcua==0.98.11
pip install pandas==2.0.3
pip install matplotlib==3.7.2
各库的作用:
| 库名 | 用途 | 我在项目中遇到过 |
|---|---|---|
| pymodbus | 与风机PLC通信,读取寄存器数据 | 曾经因为版本不对,连不上西门子S7-1200 |
| opcua | 连接OPC UA服务器,获取实时数据 | 某风场用Kepware做OPC网关,版本不匹配导致订阅失败 |
| pandas | 数据处理、清洗、统计分析 | 处理10万+条风速数据,pandas比纯Python快20倍 |
| matplotlib | 绘制功率曲线、风速玫瑰图等 | 中文乱码问题折腾了我半天,后面会讲解决方案 |
验证安装:
pip list | findstr pymodbus
pip list | findstr opcua
pip list | findstr pandas
pip list | findstr matplotlib
如果都能看到版本号,说明安装成功。如果报错,多半是网络问题,换个国内镜像源试试:
pip install pymodbus -i https://pypi.tuna.tsinghua.edu.cn/simple
依赖关系一览: 下面这张图展示了我们搭建的环境结构,以及各组件之间的关系。
到这步,你的开发环境就全部搭好了。别急着往下走,先跑一遍上面的测试代码,确保每个库都能正常导入。我在培训新人时,经常发现有人跳过了验证步骤,结果第二天上课时才发现环境没配好——那可就尴尬了。
公众号:蓝海资料掘金营,微信deep3321