弃用

Pending Removal in Python 3.14

Pending Removal in Python 3.15

  • The import system:

    • 设置 __cached__ on a module while failing to set __spec__.cached is deprecated. In Python 3.15, __cached__ will cease to be set or take into consideration by the import system or standard library. ( gh-97879 )

    • 设置 __package__ on a module while failing to set __spec__.parent is deprecated. In Python 3.15, __package__ will cease to be set or take into consideration by the import system or standard library. ( gh-97879 )

  • ctypes :

    • The undocumented ctypes.SetPointerType() function has been deprecated since Python 3.13.

  • http.server :

    • The obsolete and rarely used CGIHTTPRequestHandler has been deprecated since Python 3.13. No direct replacement exists. Anything is better than CGI to interface a web server with a request handler.

    • The --cgi flag to the python -m http.server command-line interface has been deprecated since Python 3.13.

  • locale :

  • pathlib :

  • platform :

    • java_ver() has been deprecated since Python 3.13. This function is only useful for Jython support, has a confusing API, and is largely untested.

  • threading :

    • RLock() will take no arguments in Python 3.15. Passing any arguments has been deprecated since Python 3.14, as the Python version does not permit any arguments, but the C version allows any number of positional or keyword arguments, ignoring every argument.

  • types :

  • typing :

    • The undocumented keyword argument syntax for creating NamedTuple classes (e.g. Point = NamedTuple("Point", x=int, y=int) ) has been deprecated since Python 3.13. Use the class-based syntax or the functional syntax instead.

    • The typing.no_type_check_decorator() decorator function has been deprecated since Python 3.13. After eight years in the typing module, it has yet to be supported by any major type checker.

  • wave :

Pending removal in Python 3.16

  • The import system:

    • 设置 __loader__ on a module while failing to set __spec__.loader is deprecated. In Python 3.16, __loader__ will cease to be set or taken into consideration by the import system or the standard library.

  • array :

    • The 'u' format code ( wchar_t ) has been deprecated in documentation since Python 3.3 and at runtime since Python 3.13. Use the 'w' format code ( Py_UCS4 ) for Unicode characters instead.

  • asyncio :

  • builtins :

    • Bitwise inversion on boolean types, ~True or ~False has been deprecated since Python 3.12, as it produces surprising and unintuitive results ( -2 and -1 ). Use not x instead for the logical negation of a Boolean. In the rare case that you need the bitwise inversion of the underlying integer, convert to int explicitly ( ~int(x) ).

  • shutil :

    • The ExecError exception has been deprecated since Python 3.14. It has not been used by any function in shutil since Python 3.4, and is now an alias of RuntimeError .

  • symtable :

  • sys :

  • tarfile :

    • The undocumented and unused TarFile.tarfile attribute has been deprecated since Python 3.13.

Pending Removal in Future Versions

The following APIs will be removed in the future, although there is currently no date scheduled for their removal.

C API Deprecations

Pending Removal in Python 3.14

Pending Removal in Python 3.15

Pending Removal in Future Versions

The following APIs are deprecated and will be removed, although there is currently no date scheduled for their removal.