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