第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版本,太新的版本有些工业库还没适配好。

安装时注意两点:

  1. 勾选“Add Anaconda to my PATH environment variable”——虽然安装程序会警告,但相信我,勾上它,后面省事很多
  2. 安装路径不要有中文和空格——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 知识体系总览

为了让你对整个环境搭建有个全局认识,我画了张图:

Python环境搭建知识体系 Anaconda 基础环境 虚拟环境管理 (conda create/activate) 科学计算库 数据可视化库 工业通信库 numpy · pandas matplotlib pyvisa · pymodbus · opcua conda install: numpy, pandas, matplotlib pip install: pyvisa, pymodbus, opcua-asyncio

这张图把整个环境搭建的逻辑串起来了。底层是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