MicroPython需通过编译源码生成解释器或固件,pip install micropython安装的是无关测试包;Unix port用make生成命令行解释器,交叉编译需按目标芯片(STM32/ESP32/RP2040)选配对应工具链并执行make submodules和make。

MicroPython 本身不是靠“安装工具”来用的,而是靠编译源码生成可执行解释器或固件。直接 pip install micropython 装出来的只是官方 PyPI 上一个同名但**完全无关的测试包**(早年遗留,不能运行任何 MicroPython 代码),千万别信。
编译 Unix port:在 Linux 上跑 micropython 命令行解释器
这是最轻量、最快验证环境是否搭好的方式,不依赖硬件,适合写逻辑、测语法、调试模块。
- 必须先装好
python3和make:sudo apt install python3 build-essential(Ubuntu/Debian) - 克隆源码后进入
ports/unix目录,直接make即可生成micropython可执行文件 —— 它就是你能在终端里敲./micropython启动的那个解释器 - 别跳过
git submodule update --init,否则make会报错找不到axtls或libffi相关头文件 - 如果
make失败并提示ffi.h: No such file or directory,说明系统缺libffi-dev(不是libffi6),补上:sudo apt install libffi-dev
交叉编译固件:给 STM32 / ESP32 / RP2040 烧录
想把代码烧进开发板,就得用对应芯片的交叉工具链编译出 .bin 或 .uf2 文件。关键不是“装工具”,而是“选对工具链 + 设定正确 port”。
快速生成专业的 Python 脚本和应用代码。一键创建完整项目结构,支持CLI、API、爬虫、Bot、Django等多种项目类型,包含完整的项目结构、配置文件、依赖管理、测试、README和文档。
- STM32 板子(如 Pyboard):用
gcc-arm-none-eabi,推荐 10.3 或 11.2 版本(太新如 13.x 会因libgcc符号问题链接失败) - ESP32:必须用 Espressif 官方的
xtensa-esp32-elf工具链,不能混用 ARM 工具链;且需先make -C mpy-cross编译交叉字节码生成器 - RP2040(Pico):依赖
arm-none-eabi-gcc,但还要额外装cmake和ninja,因为 Pico SDK 构建流程已切到 CMake - 所有交叉编译前,务必
cd ports/<target>(比如cd ports/esp32),再make submodules和make,否则找不到 SDK 或驱动
用 IDE 连设备:Thonny 和 PyCharm 的真实角色
它们不参与编译,只负责串口通信和文件传输。所谓“配置 MicroPython 解释器”,本质是告诉 IDE:“这个串口设备上跑着一个 MicroPython REPL,我发命令它就回结果”。
立即学习“Python免费学习笔记(深入)”;
- Thonny 安装完开箱即用,右下角点“Interpreter” → 选 “MicroPython (Generic)” 或具体型号(如 ESP32),再选对
/dev/ttyUSB0就行 - PyCharm 需装
MicroPython插件,但插件本身不提供串口能力 —— 它依赖系统有pyserial,且用户有权限读写/dev/tty*(常要加进dialout组:sudo usermod -a -G dialout $USER) - micro:bit 或 Pico 在 Ubuntu 上可能被识别为
/dev/ttyACM0而非 USB0,用dmesg | tail插拔时看日志最准
最容易被忽略的一点:MicroPython 没有全局“开发工具链”概念。你永远是在为某个具体目标(Unix CLI、某块板子、某个 IDE 连接方式)做最小必要配置。多编译几次不同 port,比找“一键安装脚本”更能避开兼容性坑。

















