Title: Предпочтения Python будут следовать за PYTHON_TARGETS Author: Michał Górny Translator: Alexey Sokolov Posted: 2021-01-30 Revision: 1 News-Item-Format: 2.0 1 февраля 2021 пользователи стабильной ветки перейдут на новый метод обновления предпочтительной версии Python, который будет использовать значение переменной PYTHON_TARGETS и применять механизм обновления конфигураций. Также мы объявляем app-eselect/eselect-python устаревшим и по умолчанию перестанем его устанавливать. Если вы хотите использовать самую новую версию Python из указанных в PYTHON_TARGETS, вам надо только принять изменения конфигурации. Если же вам нужно настроить индивидуальное поведение, продолжайте читать. С 2017 года /usr/bin/python и тому подобные символические ссылки без версии являются обёртками с помощью dev-lang/python-exec. Список предпочтительных реализаций Python хранится в /etc/python-exec/python-exec.conf и/или в /etc/python-exec/<программа>.conf для программ с конфигурацией не по умолчанию. Для обратной совместимости app-eselect/eselect-python остался обёрткой, которая обновляла этот файл. Однако сам по себе этот механизм оказался неудобен пользователям, которым теперь приходилось обновлять python-exec.conf каждый раз, когда менялась переменная PYTHON_TARGETS. Благодаря логике запасных вариантов это не было большой проблемой для программ, установленных из репозитория Gentoo, т.к. они гарантируют использование поддерживаемой реализации Python. Но пользователи сообщали, что, когда предпочтение для /usr/bin/python не совпадало с их PYTHON_TARGETS, из-за неудовлетворённых зависимостей ломались пользовательские программы, что противоречит принципу наименьшего удивления. Поэтому мы решили изменить стандартную настройку python-exec, теперь она будет совпадать с PYTHON_TARGETS в порядке предпочтения, используемым eclass'ом: сначала все CPython, начиная с новейшей версии и заканчивая старейшей, затем другие реализации Python. Это изменение будет установлено в систему с помощью механизма защиты конфигураций каждый раз при установке или пересборке dev-lang/python-exec-conf из-за изменения PYTHON_TARGETS. При этом у пользователей будет возможность интерактивно подтвердить данные изменения. Если новые настройки вам не подходят, пожалуйста, используйте ваш любимый инструмент обновления конфигурации, чтобы отбросить изменения или отредактировать новый файл. Более того, dev-lang/python больше не будет пытаться автоматически обновить предпочтительную версию Python и больше не будет автоматически затягивать eselect-python. Если вы хотите продолжать его использовать, пожалуйста, установите его вручную, чтобы он не удалился: emerge -n app-eselect/eselect-python