Documentation for a newer release is available. View Latest

Python

Python 3.7

Fedora 29 представляет Python 3.7, который добавляет множество новых функций и оптимизаций по сравнению с версией 3.6, которая была стеком Python 3 по умолчанию в Fedora 28. Заметные изменения включают:

  • async и await теперь являются зарезервированными ключевыми словами.

  • Модуль asyncio получил новые функции, а также значительные улучшения удобства использования и производительности.

  • Модуль time получил поддержку функций с наносекундным разрешением.

Подробнее см. Что нового в Python 3.7 и Возможности для 3.7. Если у вас есть собственные приложения на Python, см. Переход на Python 3.7 для получения информации об изменениях, нарушающих совместимость, и о том, как исправить ваши приложения.

/usr/bin/python теперь является отдельным пакетом

Команда python без версии из файла /usr/bin/python была перемещена в отдельный пакет python-unversioned-command. Она будет установлена по умолчанию при установке пакета python2, но вы можете удалить её.

Используйте команду python3, если вам нужен Python 3, и команду python2, если вам нужен Python 2. Команда python попрежнему означает Python 2, но её наличие не гарантируется.

Подробную информацию и обоснование этого изменения см. на странице изменений.

/usr/bin/virtualenv теперь находится в пакете python3-virtualenv

Команда virtualenv теперь поставляется из пакета python3-virtualenv, в отличие от предыдущих выпусков, где команда находилась в пакете python2-virtualenv. Это фактически переключает команду на Python 3; если вы запустите virtualenv без дополнительных параметров, она будет создавать окружения Python 3. Используйте virtualenv -p python2.7, чтобы получить прежнее поведение по умолчанию.

Ansible теперь по умолчанию использует Python 3

Пакет ansible в Fedora переключается на использование Python 3 по умолчанию вместо Python 2. Подробности см. в Автоматизация.

Больше никакой автоматической байт-компиляции Python

Текущий способ автоматической байт-компиляции Python файлов вне каталогов, специфичных для Python, слишком магический и подвержен ошибкам. Он основан на эвристиках, которые становятся всё более ошибочными. Это изменение предоставляет способ отказаться от него и корректирует рекомендации в пользу явной байт-компиляции таких файлов. Позже старое поведение будет либо требовать явного включения, либо перестанет существовать.

Обратите внимание, что байт-компиляция в каталогах, специфичных для Python (например, /usr/lib/python3.6/), не затрагивается.

Подробную документацию см. на странице изменений в вики Fedora.

Обновление групп comps для использования Python 3

Несколько групп пакетов были обновлены для использования python3 по умолчанию вместо python2. Дополнительную информацию см. в общесистемных изменениях.