第4章:Python环境搭建——Anaconda安装、虚拟环境管理与常用库安装
说实话,搞光刻机数据采集,第一步不是写代码,而是把Python环境整明白。我见过太多新手,一上来就pip install,结果项目做到一半,依赖冲突到想砸电脑。嗯,咱们今天就把这事一次性说清楚。
4.1 为什么非得用Anaconda?
你可能觉得,装个Python不就行了?我刚开始也这么想。直到有一次,我在一个项目里同时用了pyvisa和pymodbus,两个库对numpy的版本要求不一样,折腾了我整整一个下午。
Anaconda的好处,说白了就是三点:
- 自带科学计算全家桶——numpy、pandas、matplotlib这些,装好就有
- 环境隔离——每个项目一个虚拟环境,互不干扰
- 包管理省心——conda命令比pip更智能,能自动处理依赖
我的建议:别用系统自带的Python,也别用官网那个最小安装包。直接上Anaconda,省下的时间够你喝好几杯咖啡。
4.2 Anaconda安装实战
去Anaconda官网下载对应系统的安装包。我建议选Python 3.9或3.10版本,太新的版本有些工业库还没适配好。
安装时注意两点:
- 勾选“Add Anaconda to my PATH environment variable”——虽然安装程序会警告,但相信我,勾上它,后面省事很多
- 安装路径不要有中文和空格——C:\Anaconda3 就挺好
装完后,打开终端(Windows用cmd或PowerShell,Mac/Linux用bash),输入:
conda --version
如果看到版本号,恭喜你,成了。如果提示“不是内部或外部命令”,别慌,重启一下终端,或者手动把Anaconda的Scripts目录加到环境变量里。
我曾经踩过的坑:有一次装完Anaconda,发现pip命令还是系统自带的那个。后来一查,原来是PATH顺序问题。解决办法:把Anaconda的路径放在系统Python前面。
4.3 虚拟环境管理——你的项目隔离舱
虚拟环境这东西,说白了就是给每个项目一个独立的Python小世界。你在A项目里装pyvisa 1.11,在B项目里装pyvisa 1.12,互不打架。
我习惯这样管理:
# 创建虚拟环境(名字叫litho_env,Python版本3.9)
conda create -n litho_env python=3.9
# 激活环境
conda activate litho_env
# 退出环境
conda deactivate
# 查看所有环境
conda env list
# 删除环境
conda remove -n litho_env --all
你想想看,一个光刻机数据采集项目,可能同时用到OPC UA、Modbus、VISA三种协议。每种协议的库版本要求都不一样。没有虚拟环境,你根本玩不转。
小技巧:我习惯在项目根目录放一个environment.yml文件,记录所有依赖。这样换电脑或者给同事部署时,一行命令就能复现环境:
conda env create -f environment.yml
4.4 常用库安装——光刻机数据采集的武器库
好,环境搭好了,现在来装我们真正干活要用的库。我按使用场景给你列出来:
| 库名 | 用途 | 安装命令 |
|---|---|---|
| numpy | 数值计算,处理传感器数据数组 | conda install numpy |
| pandas | 数据清洗、结构化存储、CSV/Excel读写 | conda install pandas |
| matplotlib | 数据可视化,画趋势图、散点图 | conda install matplotlib |
| pyvisa | 通过GPIB/USB/以太网控制仪器 | pip install pyvisa |
| pymodbus | Modbus协议通信,PLC数据采集 | pip install pymodbus |
| opcua-asyncio | OPC UA协议客户端/服务器,工业互联 | pip install opcua-asyncio |
注意看,前三个我用conda装,后三个用pip装。为什么?因为numpy、pandas、matplotlib在conda仓库里是预编译好的二进制包,安装快、兼容性好。而pyvisa、pymodbus、opcua-asyncio这些工业库,conda仓库更新慢,用pip直接从PyPI拿最新版更靠谱。
激活你的虚拟环境后,一条条执行:
conda activate litho_env
conda install numpy pandas matplotlib
pip install pyvisa pymodbus opcua-asyncio
装完后验证一下:
python -c "import numpy; import pandas; import matplotlib; import pyvisa; import pymodbus; import opcua; print('All good!')"
如果没报错,说明所有库都装好了。
避坑指南:我曾经在Windows上装pyvisa时,死活连不上安捷伦的信号源。后来发现是没装NI-VISA驱动。记住,pyvisa只是Python层的接口,底层还需要VISA驱动(NI-VISA或PyVISA-py)。建议装NI-VISA,兼容性最好。
4.5 知识体系总览
为了让你对整个环境搭建有个全局认识,我画了张图:
这张图把整个环境搭建的逻辑串起来了。底层是Anaconda,中间是虚拟环境做隔离,上层是三大类库各司其职。你照着这个结构来,不会乱。
4.6 验证环境是否可用
最后,咱们写个简单的测试脚本,确保所有库都能正常调用:
# test_env.py
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import pyvisa
import pymodbus
import opcua
print("numpy version:", np.__version__)
print("pandas version:", pd.__version__)
print("All libraries imported successfully!")
# 简单测试:生成一组随机数据并画图
data = np.random.randn(100)
df = pd.DataFrame(data, columns=['value'])
plt.plot(df['value'])
plt.title('Environment Test')
plt.savefig('test_plot.png')
print("Test plot saved as test_plot.png")
运行:
python test_env.py
如果看到版本号,并且生成了test_plot.png文件,说明环境搭建完美收官。
我的习惯:每次新建项目,我都会先跑一遍这个测试脚本。别嫌麻烦,这能帮你提前发现环境问题,而不是在调试设备时才发现库没装对。
好了,环境搭好了,武器库也备齐了。接下来就可以真正开始写光刻机的数据采集代码了。记住,环境搭建是地基,地基稳了,楼才能盖得高。
公众号:蓝海资料掘金营,微信deep3321