计划在 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: