用 ESP32 刷过老版本 MicroPython 固件的朋友,一定懂这种崩溃:
- 想装个 upypi 上的包,mip 直接报错「不支持相对目录」
- 想拉取 gitee/gitcode 的代码,还要手动拼长长的 URL,手都敲酸
- 老固件更不上新特性,想装个新包简直要了命
今天,有一位开发者魔改了 MicroPython 的 mip 源码,做了这个 mips 工具:专门给低版本 mip 续命,还加了国产平台简写,让 ESP32 也能一键装包!

mips 是什么?给老版 mip 打个「增强补丁」
mips 是基于 MicroPython 官方 mip 源码修改的增强版工具,核心解决两个痛点:
- 低版本 mip 不支持相对目录:package.json 全用绝对地址,老固件也能直接下载
- 国产平台访问麻烦:新增
upypi:/gitee:/gitcode:三种简写,一行命令拉取国产仓库
它完全兼容原生 mip 语法,你甚至可以把它当成「更好用的 mip」来用 —— 老项目不用改一行代码,直接替换就能跑。
核心功能亮点:这几个特性太香了
-
✅ 兼容低版本固件:哪怕是几年前的 ESP32 老固件,也能通过 mips 正常安装包,再也不用为了装包刷固件
-
✅ 国产平台简写:
upypi:microflask→ 自动映射到https://upypi.net/pkgs/microflask/gitee:wth_iw0/microflask→ 直接拉取 gitee 仓库代码gitcode:wth_iw0/microdns→ 支持 gitcode,还加了sleep(2)反爬机制
-
✅ 双版本运行:
-
mips.py:给 MicroPython 开发板用,直接跑在 ESP32 上 -
mips_cpy.py:给标准 Python 用,电脑上也能提前下载包,再传到开发板 -
✅ 智能路径管理:mips_cpy 会自动找
lib文件夹(优先级高于Lib),没有就存当前目录,不用手动建文件夹 -
✅ debug 模式:加了
debug=True参数,能看到完整下载日志,哪里报错一眼看清
手把手教你用:5 分钟跑通
库的地址就在upypi上:upypi.net/
搜索:mips


点击详情页 ,进入 复制 下载 指令即可:


看到终端输出 Done,就说明安装成功了 ——mips.py 和 mips_cpy.py 会自动传到 ESP32 的 /lib 目录。
详细说明可看:upypi.net/zh/pkgs/mip…




原理简述
- URL 重写:新增
_rewrite_url()函数,把upypi:/gitee:/gitcode:自动转成完整 URL - 反爬机制:针对 gitcode,在下载前加了
sleep(2),避免被反爬拦截 - 输出优化:修改了 Copying 日志,加上了完整 URL,方便排查问题
- 路径兼容:把 package.json 里的相对路径全改成绝对路径,让低版本 mip 能识别
- 标准 Python 适配:把 MicroPython 专属 API 替换成标准 Python 兼容的写法,做出了
mips_cpy.py

