Возврат к списку

Большая чистка: из стандартной библиотеки Python удалят множество модулей

30.05.2019     

Разработчики Python готовятся к глобальной чистке стандартной библиотеки. Из нее вынесут устаревшие компоненты и возможности, которые редко используются. Удалят и компоненты, которые не получается унифицировать для разных платформ.

Что пойдет под нож

Автор предложения Кристиан Хаймс считает, что модуль crypt уже не актуален. Он недоступен на Windows, к тому же алгоритмы хеширования, использованные здесь, зависят от системных библиотек.

Удалить намерены и популярный модуль cgi. Он требует для каждого запроса создавать новый процесс – это слишком затратно. К тому же архитектура модуля неоптимальна – проще использовать что-то другое, чем «чинить» имеющееся.

Разработчики советуют заменять устаревшие компоненты: использовать importlib вместо imp, subprocess вместо pipes, NSS, LDAP или Kerberos/GSSAPI вместо nis. Посоветовали не включать в проекты и spwd – работать с базой данных учетных записей напрямую небезопасно.

А вот ftplib, getopt, optparse, fileinput, colorsys, lib2to3 и wave в стандартной библиотеке пока останутся. Они устарели, но используются слишком часто, поэтому будут «жить».

Как будут удалять компоненты

Разработчики намерены чистить библиотеку постепенно. В новой версии Python 3.8 устаревшие модули останутся, но в документации их пометят устаревшими. Для части модулей будут выводить раннее предупреждение.

В версии Python 3.9 предупреждения появятся для всех устаревших компонентов. Но разработчики смогут продолжать их использовать. В Python 3.10 все, что планировали удалить, уберут из репозиториев Cpython.

Отдельно отметим, что модуль parser удалят в Python 3.9 – его пометили устаревшим еще в версии 2.5. А из Python 3.8 исчезнет macpath.

Как использовать удаленные модули

Код компонентов, удаленных из стандартной библиотеки, отправят в отдельный репозиторий legacylib. Что будет с ним, решит сообщество.

Разработчики пообещали поддерживать ветку Python 3.9 до 2026 года. Таким образом, у всех будет достаточно времени, чтобы перевести свои проекты на решения вне стандартной библиотеки.

Такой подход не соответствует изначальной концепции Python «батарейки в комплекте». Язык создавался как универсальное средство со всеми возможностями на борту. С другой стороны, избавившись от устаревшего кода, проект будет проще поддерживать. Количество потенциальных уязвимостей снизится.

Перечень компонентов, которые хотят убрать из стандартной библиотеки


Автор:
Ксения Шестакова Обозреватель


Комментарии
Избранное Подписка Сортировка: Древо
1. Поручик 4281 30.05.19 14:20 Сейчас в теме
Когда 1С перетряхивает свою БСП, типа рефакторинг и оптимизация, то просто вешалка. Половина обработок и доделок разом перестаёт работать после обновления конфы. Вот так у нас было пару раз с УТ 11.X.
Поэтому в большинстве случаев плюют на обновления, и пущай работает.
biz-intel; +1 Ответить
6. asirius 106 31.05.19 12:12 Сейчас в теме
(1) +100500
Вот какая острая необходимость была у разработчиков менять наименования типов, которые используются практически во всех документах?

ОпределяемыйТип.ДенежноеПолеНеотрицательное --> ОпределяемыйТип.ДенежнаяСуммаНеотрицательная

Смысловой нагрузки никакой, только эстетическое наслаждение человека, сделавшего это.
Слетели абсолютно все расширения.
Теперь расширения для версии 11.4.6 и для версии 11.4.8 не совместимы.
Такими действиями от 1С рынок расширений умрет, не успев сформироваться
biz-intel; acanta; +2 Ответить
8. biz-intel 678 31.05.19 12:34 Сейчас в теме
(6) На самом деле это действительно большое зло, которое постоянно исходит со стороны разработчиков типовых решений 1С. У меня впечатление, что им совсем наплевать на комьюнити. Видимо такой задачи перед ними просто не ставят. Хотя уверен что менеджмент в 1С это понимает, а может и нет.
9. acanta 57 31.05.19 12:43 Сейчас в теме
(8) 1с просто все воспринимают как должное и хоть закричись что в платформе что то поменяется, всем пофиг. Заказчик - пользователь отслеживает разве что изменения цен на рынке и только того что сам продает/покупает. Возможно ещё развитие партнёров/конкурентов и изменения законодательства.
ПО это для мебели покупается. Каждые две недели видеть стул или стол на новом месте и другой высоты - не понимают.
Но вот обои клеить на часть комнаты или плитку, а через год или даже десять лет искать в магазине чтобы совместимое было по цвету и размеру, когда уже вся коллекция вышла из моды и утилизирована это заказчики обычно понимают.
2. ErshKUS 30.05.19 15:22 Сейчас в теме
Удалить намерены и популярный модуль cgi. Он требует для каждого запроса создавать новый процесс – это слишком затратно. К тому же архитектура модуля неоптимальна – проще использовать что-то другое, чем «чинить» имеющееся.

Как и всегда, это не используйте, это бред, это не правильно. А вот написать как надо, как правильно - это уже сложнее конечно
3. CodeNull 31.05.19 07:26 Сейчас в теме
Скорее всего все это будет доступно в виде внешних модулей доступных через pip, их можно будет доставить. Для прикладных разработчиков ничего принципиально не изменится.
4. SerVer1C 170 31.05.19 08:14 Сейчас в теме
Как вообще данная статья относится к 1С ?
sansys; frkbvfnjh; +2 Ответить
5. biz-intel 678 31.05.19 11:36 Сейчас в теме
(4)Думаю это не такая уж плохая идея расширять свой кругозор время от времени для того чтобы понимать с чем и как ты работаешь сейчас и как это принято желать в других технологиях
Romakon92; +1 Ответить
7. ilialin 31.05.19 12:32 Сейчас в теме
(4)
А так же как и первый комментарий - пример того, как надо делать, а не как делает 1С - всех заранее предупредили, объяснили почему такие изменения и как теперь с этим жить.
Оставьте свое сообщение