Python 3.15 中待移除的項目

  • 引入系統 (import system):

    • 在模組上設定 __cached__ 而沒有設定 __spec__.cached 的做法已被棄用。在 Python 3.15 中,引入系統或標準函式庫將不再設定或考慮 __cached__。(gh-97879)

    • 在模組上設定 __package__ 而沒有設定 __spec__.parent 的做法已被棄用。在 Python 3.15 中,引入系統或標準函式庫將不再設定或考慮 __package__。(gh-97879)

  • ctypes:

    • 自 Python 3.13 起,未記錄的 ctypes.SetPointerType() 函式已被棄用。

  • http.server:

    • 過時且很少使用的 CGIHTTPRequestHandler 自 Python 3.13 起已被棄用。不存在直接的替代。任何東西都比 CGI 更好地將 Web 伺服器與請求處理程序介接起來。

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

  • importlib:

    • load_module() method:請改用 exec_module()。

  • pathlib:

    • .PurePath.is_reserved() 已自 Python 3.13 被棄用。請用 os.path.isreserved() 來偵測 Windows 上的保留路徑。

  • platform:

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

  • sysconfig:

  • threading:

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

  • types:

    • types.CodeType:自 3.10 起,存取 codeobject.co_lnotab 已在 PEP 626 中被棄用,並計劃在 3.12 中移除,但直到 3.12 才有正式的 DeprecationWarning。可能在 3.15 中移除。(由 Nikita Sobolev 於 gh-101866 貢獻。)

  • typing:

    • 用於建立 NamedTuple 類別的未以文件記錄之關鍵字引數語法 (Point = NamedTuple("Point", x=int, y=int)) 已自 Python 3.13 棄用。請改用基於類別的語法或函式語法 (functional syntax)。

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

    • 自 Python 3.13 起,@typing.no_type_check_decorator 裝飾器函式已被棄用。在 typing 模組中使用了八年之後,它尚未得到任何主要型別檢查器的支援。

  • sre_compile、sre_constants 和 sre_parse 模組。

  • wave:

    • Wave_read 和 Wave_write 類別的 getmark()、setmark() 和 getmarkers() 方法自 Python 3.13 起已被棄用。

  • zipimport:

    • zipimport.zipimporter.load_module() 自 Python 3.10 被棄用。請改用 exec_module()。(gh-125746。)