第1章:Python环境搭建——在Windows/Linux/Mac上搭建Python开发环境,安装必要的嵌入式开发库

说实话,很多做嵌入式开发的朋友,一听到「搭环境」就头大。我刚开始那会儿也是,觉得装个Python嘛,下一步下一步就完事了。结果呢?串口读不到数据,VISA库死活装不上,折腾一整天。

后来我学乖了。环境搭得好,后面写脚本才顺。这一章,我就把我在Windows、Linux、Mac三套系统上的实战经验,掰开了揉碎了讲给你听。

1.1 为什么非得用Python?

你可能会问:「我C语言写得好好的,干嘛要学Python?」

嗯,这个问题我当年也问过自己。直到有一次,我需要给一块新板子做批量测试——烧录、读寄存器、校验、生成报告,一套流程下来,用C写要几百行,还得考虑内存泄漏。用Python呢?30行搞定。

说白了,Python在嵌入式开发里,不是用来替代C的。它是你的「瑞士军刀」——快速验证、自动化测试、数据处理,这些脏活累活,交给Python最合适。

核心价值: Python让你从「重复劳动」中解放出来,把精力放在真正的硬件逻辑上。

1.2 在Windows上搭建环境

Windows用户最多,坑也最多。我踩过的坑,你就不用再踩了。

1.2.1 下载与安装Python

去官网下载Python 3.10或3.11版本。别追新,3.12有些库还没适配。

  1. 打开 python.org,找到Downloads → Windows
  2. Windows installer (64-bit)
  3. 安装时,一定要勾选「Add Python to PATH」
  4. 选「Customize installation」,确保pip被勾上
我曾经犯过的错: 没勾PATH,结果命令行里打python没反应。折腾了半小时才发现。嗯,这种低级错误,犯一次就够了。

1.2.2 验证安装

打开命令提示符(cmd),输入:

python --version
pip --version

如果看到版本号,恭喜你,第一步走通了。

1.2.3 安装嵌入式开发库

嵌入式开发最常用的两个库:pySerialpyvisa

pip install pyserial
pip install pyvisa
pip install pyvisa-py   # 纯Python后端,不用装NI-VISA

我个人习惯用 pyvisa-py 后端,省去装NI-VISA驱动的麻烦。你想想看,要是每台电脑都得装个几百兆的NI驱动,那多折腾。

1.2.4 避坑指南

  • 权限问题: 如果提示权限不足,用管理员身份运行cmd
  • 多版本Python:py -3.10 -m pip install xxx 指定版本
  • 网络慢: 加国内镜像 pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple

1.3 在Linux上搭建环境

Linux是嵌入式开发的主战场。我平时做ARM、RISC-V的调试,基本都在Ubuntu上。

1.3.1 检查系统Python

大多数Linux发行版自带Python3。先看看版本:

python3 --version

如果版本低于3.8,建议升级。我在项目中遇到过,有些新库在3.6上跑不起来。

1.3.2 安装pip和虚拟环境

sudo apt update
sudo apt install python3-pip python3-venv

我强烈建议用虚拟环境。为什么?因为不同项目依赖的库版本可能冲突。你想想看,一个项目用pySerial 3.4,另一个用3.5,装在一起迟早出问题。

1.3.3 创建虚拟环境

mkdir my_embed_project
cd my_embed_project
python3 -m venv venv
source venv/bin/activate

看到命令行前面多了 (venv),说明环境激活了。这时候再装库,就只影响当前项目。

1.3.4 安装嵌入式库

pip install pyserial pyvisa pyvisa-py
小技巧: 在Linux下,串口设备通常叫 /dev/ttyUSB0/dev/ttyACM0。记得把用户加到dialout组:sudo usermod -a -G dialout $USER,不然没权限访问串口。

1.4 在macOS上搭建环境

Mac用户相对少,但做嵌入式开发的也不少。我自己的主力机就是MacBook Pro。

1.4.1 安装Homebrew

Mac上推荐用Homebrew管理软件包。打开终端:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

1.4.2 安装Python

brew install python@3.11

装完后,用 python3.11 --version 验证。

1.4.3 安装嵌入式库

pip3 install pyserial pyvisa pyvisa-py
注意: macOS从Catalina开始,对系统目录的权限管控很严。如果你用 /dev/cu.usbserial 访问串口,记得在「安全性与隐私」里给终端授权。

1.5 验证环境是否可用

环境搭好了,得跑个例子验证一下。写个简单的串口扫描脚本:

import serial.tools.list_ports

ports = serial.tools.list_ports.comports()
for port in ports:
    print(f"发现设备: {port.device} - {port.description}")

if not ports:
    print("没有发现串口设备,请检查连接。")

保存为 scan_ports.py,运行:

python scan_ports.py

如果能看到设备列表,说明pySerial装好了,环境没问题。

1.6 常见问题与解决方案

问题 原因 解决方法
pip安装超时 网络问题 使用国内镜像源
找不到串口 权限不足 Linux加dialout组,Mac授权
pyvisa报错 后端未指定 pyvisa-py 后端
多版本冲突 PATH混乱 用虚拟环境隔离

1.7 我的个人建议

环境搭建这件事,看起来简单,但细节决定成败。我见过太多人卡在第一步,然后就放弃了。

我的建议是:

  • 用虚拟环境——这是最值得养成的习惯
  • 先跑通一个最小例子——别一上来就搞大项目
  • 遇到问题先搜——你踩的坑,99%别人都踩过

好了,环境搭好了,下一章我们开始写第一个自动化脚本。到时候你就知道,前面这些折腾,都是值得的。

总结: 三套系统的核心步骤都一样——装Python、装pip、装pySerial和pyvisa。区别只在系统工具链和权限管理上。记住:虚拟环境 + 国内镜像 = 省心省力。