Документация Python неофициальный перевод

Запланировано к удалению в Python 3.15Pending Removal in Python 3.15

  • http.server.CGIHTTPRequestHandler будет удалён вместе со своим связанным флагом --cgi для python -m http.server. Он был устаревшим и редко использовался. Прямой замены не существует. Всё лучше, чем CGI для взаимодействия веб-сервера с обработчиком запросов.

  • importlib:

    • Метод load_module(): вместо него используйте exec_module().

  • locale: locale.getdefaultlocale() был помечен как устаревший в Python 3.11 и первоначально планировался к удалению в Python 3.13 (gh-90817), но удаление было отложено до Python 3.15. Вместо этого используйте locale.setlocale(), locale.getencoding() и locale.getlocale(). (Автор: Hugo van Kemenade, gh-111187.)

  • pathlib: pathlib.PurePath.is_reserved() устарел и запланирован к удалению в Python 3.15. Начиная с Python 3.13 используйте os.path.isreserved для обнаружения зарезервированных путей в Windows.

  • platform: java_ver() устарел и будет удалён в 3.15. Он был в значительной степени не протестирован, имел запутанный API и был полезен только для поддержки Jython. (Автор: Nikita Sobolev, gh-116349.)

  • sysconfig:

    • Аргумент check_home функции sysconfig.is_python_build() считается устаревшим начиная с Python 3.12.

  • threading: Передача любых аргументов в threading.RLock() теперь устарела. Версия на C допускает любое количество args и kwargs, но они просто игнорируются. Версия на Python не допускает никаких аргументов. Все аргументы будут удалены из threading.RLock() в Python 3.15. (Автор: Nikita Sobolev, gh-102029.)

  • typing.NamedTuple:

    • Не документированный синтаксис именованных аргументов для создания классов NamedTuple (NT = NamedTuple("NT", x=int)) устарел и будет запрещён в 3.15. Вместо этого используйте синтаксис на основе классов или функциональный синтаксис.

  • types:

    • types.CodeType: доступ к co_lnotab был объявлен устаревшим в PEP 626 начиная с версии 3.10 и планировался к удалению в 3.12, но получил надлежащий DeprecationWarning только в 3.12. Может быть удалён в 3.15. (Предложено Никитой Соболевым в gh-101866.)

  • typing:

    • При использовании функционального синтаксиса для создания класса NamedTuple, отсутствие передачи значения параметру fields (NT = NamedTuple("NT")) считается устаревшим. Передача None параметру fields (NT = NamedTuple("NT", None)) также устарела. Оба варианта будут запрещены в Python 3.15. Чтобы создать класс NamedTuple с 0 полями, используйте class NT(NamedTuple): pass или NT = NamedTuple("NT", []).

  • typing.TypedDict: При использовании функционального синтаксиса для создания класса TypedDict, отсутствие передачи значения параметру fields (TD = TypedDict("TD")) считается устаревшим. Передача None параметру fields (TD = TypedDict("TD", None)) также устарела. Оба варианта будут запрещены в Python 3.15. Чтобы создать класс TypedDict с 0 полями, используйте class TD(TypedDict): pass или TD = TypedDict("TD", {}).

  • wave: Помечены как устаревшие методы getmark(), setmark() и getmarkers() классов wave.Wave_read и wave.Wave_write. Они будут удалены в Python 3.15. (Автор: Victor Stinner, gh-105096.)