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