計劃在 Python 3.15 中移除

  • 匯入系統

    • 在設定模組的 __cached__ 屬性時,若未同時設定 __spec__.cached,此行為已被棄用。在 Python 3.15 中,匯入系統或標準庫將不再設定或考慮 __cached__ 屬性。(由 gh-97879 貢獻)

    • 在設定模組的 __package__ 屬性時,若未同時設定 __spec__.parent,此行為已被棄用。在 Python 3.15 中,匯入系統或標準庫將不再設定或考慮 __package__ 屬性。(由 gh-97879 貢獻)

  • ctypes:

    • 未寫入文件的 ctypes.SetPointerType() 函式自 Python 3.13 起已被棄用。

  • http.server:

    • 過時且很少使用的 CGIHTTPRequestHandler 已從 Python 3.13 開始棄用。沒有直接的替代品。任何將 Web 伺服器與請求處理程式對接的方式都比 CGI 好。

    • python -m http.server 命令列介面的 --cgi 旗標已自 Python 3.13 起棄用。

  • importlib:

    • load_module() 方法:請改用 exec_module()

  • locale:

  • pathlib:

  • platform:

    • java_ver() 已自 Python 3.13 起棄用。此函式僅對 Jython 支援有用,其 API 令人困惑,且基本未經測試。

  • sysconfig:

  • threading:

    • RLock() 在 Python 3.15 中將不再接受任何引數。自 Python 3.14 起,傳遞任何引數的行為已被棄用,因為 Python 版本不允許任何引數,但 C 版本允許任意數量的位置或關鍵字引數,並會忽略所有引數。

  • types:

  • typing:

    • 用於建立 NamedTuple 類的未寫入文件的關鍵字引數語法(例如,Point = NamedTuple("Point", x=int, y=int))已自 Python 3.13 起棄用。請改用基於類的語法或函式式語法。

    • 當使用 TypedDict 的函式式語法時,未向 fields 引數傳遞值(TD = TypedDict("TD"))或傳遞 NoneTD = TypedDict("TD", None))自 Python 3.13 起已被棄用。請使用 class TD(TypedDict): passTD = TypedDict("TD", {}) 來建立零欄位的 TypedDict。

    • typing.no_type_check_decorator() 裝飾器函式已自 Python 3.13 起棄用。在 typing 模組中存在八年後,它仍未被任何主流型別檢查器支援。

  • wave:

  • zipimport: