3. 搭建开发环境:Python环境配置、PyCharm安装、虚拟环境管理、依赖管理(requirements.txt)
好,咱们正式开始动手了。
做光谱仪自动进样控制,说白了就是写代码去指挥硬件干活。但写代码之前,得先把“家伙事儿”备齐。我见过不少新手,上来就写,结果环境配了一整天,心态直接崩了。别急,跟着我来,半小时搞定。
3.1 Python环境配置:选对版本,少走弯路
Python版本怎么选?我个人习惯用Python 3.8或3.9。为什么?因为光谱仪常用的串口库(比如pyserial)和数据处理库(比如numpy),在这些版本上最稳定。我踩过坑,用Python 3.11去装一个老库,结果编译报错,折腾了两小时。嗯,这里要注意:别追新,稳定第一。
下载地址去官网:python.org。别去某度搜,容易下到带广告的版本。
安装时有个关键勾选——“Add Python to PATH”。我刚开始学的时候忘了勾,后面命令行里打python没反应,还以为电脑坏了。你想想看,多尴尬。
python --version 和 pip --version。如果都正常显示版本号,说明环境配好了。
3.2 PyCharm安装:专业版还是社区版?
PyCharm,JetBrains家的王牌IDE。做自动化控制项目,我强烈推荐用专业版。为什么?因为它自带远程开发、数据库工具、还有专业的调试器。社区版虽然免费,但少了些硬核功能。
不过话说回来,如果你只是写个几百行的脚本,社区版也够用。我早期做项目时就用社区版,后来项目大了,代码文件一多,社区版没有代码导航,找函数找得我眼冒金星。后来换了专业版,真香。
安装过程很简单,一路Next就行。唯一要注意的是:安装时勾选“Create Desktop Shortcut”和“Add launchers dir to PATH”。这样以后在命令行里可以直接敲 charm . 打开当前目录,省事。
3.3 虚拟环境管理:隔离才是王道
为什么要用虚拟环境?说白了,就是给每个项目一个独立的“小房间”。你想想看,你同时做三个项目:一个用numpy 1.19,一个用numpy 1.24,还有一个用numpy 2.0。如果不隔离,装一个就把另一个搞崩了。我遇到过,一个同事把所有库都装在全局环境里,结果升级一个库,整个项目跑不起来了。嗯,那场面,惨不忍睹。
Python自带的 venv 模块就够用。创建虚拟环境很简单:
# 打开终端,进入项目目录
python -m venv venv
# 激活虚拟环境(Windows)
venv\Scripts\activate
# 激活虚拟环境(Mac/Linux)
source venv/bin/activate
激活后,命令行前面会出现 (venv) 字样。这时候你安装的所有库,都只在这个项目里生效。
我个人习惯在PyCharm里直接创建虚拟环境。新建项目时,PyCharm会自动弹窗让你选择解释器,选“New environment using Virtualenv”就行。它会自动帮你创建并激活,省得敲命令。
(venv)。如果没有,说明虚拟环境没激活,你装的库可能装到全局去了。
3.4 依赖管理:requirements.txt 的妙用
项目做完了,要部署到另一台电脑上。怎么把依赖库一次性装好?这时候 requirements.txt 就派上用场了。
它就是一个文本文件,里面列出了项目所有依赖的库名和版本号。生成方式很简单:
# 在虚拟环境激活状态下执行
pip freeze > requirements.txt
打开看看,内容大概长这样:
numpy==1.24.3
pyserial==3.5
opencv-python==4.8.0.74
matplotlib==3.7.1
到了新电脑上,只需要一条命令就能全部装好:
pip install -r requirements.txt
这里有个坑:pip freeze 会把虚拟环境里所有库都列出来,包括一些依赖的依赖。我建议你手动整理一下,只保留你直接引用的库。比如你的代码里只用了 pyserial 和 numpy,那就只写这两个。为什么?因为依赖的依赖版本可能会变,写死了反而容易出问题。
pip list --outdated 检查一下有没有库可以升级。保持依赖库版本不要太老,但也不要太新。
3.5 实战:搭建光谱仪自动进样控制项目环境
好,理论说完了,咱们来实操一遍。假设项目名叫 spectrometer_auto_sampler:
- 在D盘或E盘创建一个文件夹,名字就叫
spectrometer_auto_sampler。路径不要有中文。 - 打开PyCharm,点击“New Project”,选择这个文件夹。
- 在“Interpreter”选项里,选择“New environment using Virtualenv”。Python版本选你安装的3.8或3.9。
- 点击“Create”,等待几秒钟。PyCharm会自动创建虚拟环境并激活。
- 打开下方的“Terminal”标签,你会看到命令行前面有
(venv)字样。 - 输入以下命令安装基础库:
pip install pyserial numpy matplotlib opencv-python
安装完成后,输入 pip list 查看已安装的库。确认无误后,生成 requirements.txt:
pip freeze > requirements.txt
好了,环境搭建完成。以后每次写代码,都先确认虚拟环境是否激活。我习惯在PyCharm的设置里,把“Default project interpreter”也指向这个虚拟环境,这样新建文件时自动关联,省心。
venv 文件夹提交到Git仓库里。它太大了,而且别人可以自己生成。在项目根目录创建一个 .gitignore 文件,写上 venv/ 就行。
环境搭好了,下一章咱们就开始写真正的控制代码了。准备好了吗?