Python
Обновление пакета Python до последней версии
Пакет python3 теперь обновлён до последней версии 3.9 в Fedora 33. Ранее, в Fedora 32, поддерживалась версия 3.8 пакета python3, которая теперь обновлена.
Это последнее обновление Python 3.9 предоставит множество улучшений. Некоторые из основных особенностей:
-
Добавлены операторы объединения (
|) и обновления (|=) для классаdict. -
Обобщённые подсказки типов в стандартных коллекциях.
-
Поддержка более гибких аннотаций функций и переменных.
-
Ослабление грамматических ограничений путём разрешения декораторам быть любым допустимым выражением.
-
Поддержка базы данных часовых поясов IANA в модуле
zoneinfo. -
Строковые методы
removeprefixиremovesuffixбудут удалять префиксы и суффиксы из строки. -
CPython теперь использует новый синтаксический анализатор на основе грамматики выражений (PEG).
Примечания по миграции пакетов pip, установленных пользователем
При обновлении Fedora с версии 32 до Fedora 33 версия основного интерпретатора Python изменяется с 3.8 на 3.9. Если у вас установлены какие-либо пакеты Python с помощью pip, вы должны выполнить следующую процедуру для их миграции на новую версию:
-
Установите предыдущую версию пакета
python3:sudo dnf install python3.8
-
Получите
pipдля предыдущей версии Python:python3.8 -m ensurepip --user
-
Посмотрите установленные пакеты:
python3.8 -m pip list
-
Сохраните список с конкретными версиями:
python3.8 -m pip freeze > installed.txt
-
Установите те же пакеты для текущей версии по умолчанию:
python3 -m pip install --user -r installed.txt
-
Удалите пользовательские пакеты, установленные для Python 3.8; это обеспечит правильное удаление файлов в
~/.local/bin:python3.8 -m pip uninstall $(python3.8 -m pip list --user | cut -d" " -f1)
-
При необходимости очистите теперь пустую структуру каталогов:
rm -rf ~/.local/lib/python3.8/
-
При необходимости удалите ненужную версию Python:
sudo dnf remove python3.8
Кроме того, если у вас есть какие-либо пакеты pip, установленные с помощью sudo, выполните следующие команды перед выполнением последнего шага выше, который удаляет `python3.8`, или установите его снова временно:
-
Получите
pipдля предыдущей версии Python для пользователяroot:sudo python3.8 -m ensurepip
-
Посмотрите системные установленные пакеты:
sudo python3.8 -m pip list
-
Удалите установленные пакеты для 3.8; это обеспечит правильное удаление файлов в
/usr/local/bin:sudo python3.8 -m pip uninstall $(python3.8 -m pip list | cut -d" " -f1)
-
При необходимости очистите теперь пустую структуру каталогов:
sudo rm -rf /usr/local/lib*/python3.8/
|
Если вы следовали первой процедуре, пакеты уже установлены для вашей учётной записи пользователя, что является предпочтительным вариантом. В будущем избегайте использования |
Прекращение поддержки Python 3.4 и Python 2.6
Пакеты python34 и python26 удалены из Fedora 33 без замены. Пакеты больше не будут доступны в репозиториях, но могут остаться в существующих установках. Оба пакета сохранялись в Fedora по устаревшим причинам, и их дальнейшее обслуживание становилось всё более сложным, принося всё меньше пользы дистрибутиву, поэтому они теперь удалены.
Want to help? Learn how to contribute to Fedora Docs ›