用 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/microflaskgitcode:wth_iw0/microdns → 支持 gitcode,还加了 sleep(2) 反爬机制
✅ 双版本运行:
mips.py:给 MicroPython 开发板用,直接跑在 ESP32 上
mips_cpy.py:给标准 Python 用,电脑上也能提前下载包,再传到开发板
✅ 智能路径管理:mips_cpy 会自动找 lib 文件夹(优先级高于 Lib),没有就存当前目录,不用手动建文件夹
✅ debug 模式:加了 debug=True 参数,能看到完整下载日志,哪里报错一眼看清
手把手教你用:5 分钟跑通
库的地址就在 upypi 上:https://upypi.net/
搜索:mips
点击详情页 ,进入 复制 下载 指令即可:
看到终端输出 Done,就说明安装成功了 ——mips.py 和 mips_cpy.py 会自动传到 ESP32 的 /lib 目录。
详细说明可看:https://upypi.net/zh/pkgs/mips

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