計劃在 Python 3.15 中移除¶
匯入系統
在設定模組的
__cached__
屬性時,若未同時設定__spec__.cached
,此行為已被棄用。在 Python 3.15 中,匯入系統或標準庫將不再設定或考慮__cached__
屬性。(由 gh-97879 貢獻)在設定模組的
__package__
屬性時,若未同時設定__spec__.parent
,此行為已被棄用。在 Python 3.15 中,匯入系統或標準庫將不再設定或考慮__package__
屬性。(由 gh-97879 貢獻)
-
未寫入文件的
ctypes.SetPointerType()
函式自 Python 3.13 起已被棄用。
-
過時且很少使用的
CGIHTTPRequestHandler
已從 Python 3.13 開始棄用。沒有直接的替代品。任何將 Web 伺服器與請求處理程式對接的方式都比 CGI 好。python -m http.server 命令列介面的
--cgi
旗標已自 Python 3.13 起棄用。
-
load_module()
方法:請改用exec_module()
。
-
自 Python 3.11 起,
getdefaultlocale()
函式已被棄用。原計劃在 Python 3.13 (gh-90817) 中移除,但已推遲到 Python 3.15。請改用getlocale()
、setlocale()
和getencoding()
。(由 Hugo van Kemenade 在 gh-111187 中貢獻。)
-
PurePath.is_reserved()
已自 Python 3.13 起棄用。要檢測 Windows 上的保留路徑,請使用os.path.isreserved()
。
-
java_ver()
已自 Python 3.13 起棄用。此函式僅對 Jython 支援有用,其 API 令人困惑,且基本未經測試。
-
sysconfig.is_python_build()
的 check_home 引數已自 Python 3.12 起棄用。
-
RLock()
在 Python 3.15 中將不再接受任何引數。自 Python 3.14 起,傳遞任何引數的行為已被棄用,因為 Python 版本不允許任何引數,但 C 版本允許任意數量的位置或關鍵字引數,並會忽略所有引數。
-
types.CodeType
:在 PEP 626 中,自 3.10 起,訪問co_lnotab
已被棄用,並計劃在 3.12 中移除,但直到 3.12 才有了正式的DeprecationWarning
。可能會在 3.15 中移除。(由 Nikita Sobolev 在 gh-101866 中貢獻。)
-
用於建立
NamedTuple
類的未寫入文件的關鍵字引數語法(例如,Point = NamedTuple("Point", x=int, y=int)
)已自 Python 3.13 起棄用。請改用基於類的語法或函式式語法。當使用
TypedDict
的函式式語法時,未向 fields 引數傳遞值(TD = TypedDict("TD")
)或傳遞None
(TD = TypedDict("TD", None)
)自 Python 3.13 起已被棄用。請使用class TD(TypedDict): pass
或TD = TypedDict("TD", {})
來建立零欄位的 TypedDict。typing.no_type_check_decorator()
裝飾器函式已自 Python 3.13 起棄用。在typing
模組中存在八年後,它仍未被任何主流型別檢查器支援。
wave
:Wave_read
和Wave_write
類的getmark()
、setmark()
和getmarkers()
方法自 Python 3.13 起已被棄用。
-
load_module()
已自 Python 3.10 起棄用。請改用exec_module()
。(由 Jiahao Li 在 gh-125746 中貢獻。)