MicroPython 2.0 迁移指南#

MicroPython 2.0 是 MicroPython 的下一个主要版本(目前仍在开发中,尚不可用)。

在与 1.x 系列保持了近十年的 API 兼容性之后,为了解除某些项目级改进的阻碍,MicroPython 2.0 将引入少量破坏性的 API 变更,这会要求一些程序进行更新。本指南说明如何更新你的 Python 代码以适应这些变更。

本文档仍在编写中。随着 MicroPython 2.0 的工作进一步推进,下面的列表中将会添加更多条目。

注意: 目前还没有可供下载的 MicroPython 2.0 固件构建。你可以通过启用 MICROPY_PREVIEW_VERSION_2 配置选项来自行构建。随着发布日期临近,将会同时提供 1.x.y2.0.0-preview 两种构建。

硬件与外设#

概述#

目标是提升 machine API 在不同 port 之间的一致性,使其更易于编写能在任何受支持的微控制器上运行的代码、文档和教程。

这意味着某些 port 的 API 需要进行更改,以与其他 port 保持一致。

变更#

暂无

操作系统与文件系统#

概述#

首要目标是支持直接从文件系统执行 .mpy 文件,而无需先将它们复制到 RAM 中。这缩短了代码部署时间,并减少了内存开销和碎片化。

此外,另一个目标是支持以更灵活的方式配置分区、文件系统类型以及诸如 USB 大容量存储之类的选项。

变更#

暂无

CPython 兼容性#

概述#

目标是通过从 CPython API 中移除 MicroPython 扩展来提升与 CPython 的兼容性。在大多数情况下,这意味着将现有的 MicroPython 专有函数或类移动到新的模块中。

这使得编写在 CPython 和 MicroPython 上都能运行的代码更加容易,对开发和测试都很有帮助。

变更#

引入了一个新模块 vfs。以下函数和类已从 os 移动到 vfs

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix