diff options
author | Michał Górny <mgorny@gentoo.org> | 2022-07-24 15:55:38 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2022-07-24 15:55:38 +0200 |
commit | b70041126763adc2f9e10a9e01cb3b0ffa25aaad (patch) | |
tree | 0ddb502fa497241c779c1f67260e01a9e2fe9b4b | |
parent | 2022-06-26-mu-corruption: clarify only 1 affected version (diff) | |
download | gentoo-news-b70041126763adc2f9e10a9e01cb3b0ffa25aaad.tar.gz gentoo-news-b70041126763adc2f9e10a9e01cb3b0ffa25aaad.tar.bz2 gentoo-news-b70041126763adc2f9e10a9e01cb3b0ffa25aaad.zip |
Remove old Python-related news items
Signed-off-by: Michał Górny <mgorny@gentoo.org>
8 files changed, 0 insertions, 567 deletions
diff --git a/2017-01-21-python-exec-2-3-reclaims-python-symlinks/2017-01-21-python-exec-2-3-reclaims-python-symlinks.en.txt b/2017-01-21-python-exec-2-3-reclaims-python-symlinks/2017-01-21-python-exec-2-3-reclaims-python-symlinks.en.txt deleted file mode 100644 index 4aa3415..0000000 --- a/2017-01-21-python-exec-2-3-reclaims-python-symlinks/2017-01-21-python-exec-2-3-reclaims-python-symlinks.en.txt +++ /dev/null @@ -1,40 +0,0 @@ -Title: python-exec 2.3 reclaims python* symlinks -Author: Michał Górny <mgorny@gentoo.org> -Content-Type: text/plain -Posted: 2017-01-21 -Revision: 1 -News-Item-Format: 1.0 -Display-If-Installed: <app-eselect/eselect-python-20160206 -Display-If-Installed: <dev-lang/python-exec-2.3 - -The new versions of python-exec (2.3 and newer) are reclaiming multiple -Python-related symlinks in /usr/bin, most notably /usr/bin/python*. This -may result in your package manager reporting file collisions. - -The respective symlinks were previously either unowned and created -dynamically by app-eselect/eselect-python, or installed by it. From now -on, all Python-related symlinks are installed and handled -by python-exec. This ensures that they respect the python-exec -configuration files and variables consistently with regular Python -packages, and improves their reliability. - -If you are using FEATURES=collision-protect, Portage will reject -the upgrade. If this is the case, please temporarily switch to -FEATURES=protect-owned for the upgrade. - -If you are using FEATURES=protect-owned, Portage will verbosely warn -about the file collisions but will proceed with the upgrade once -determining no replaced files are owned. Please disregard the warning. - -The potentially colliding files are: - - * /usr/bin/2to3 - * /usr/bin/idle - * /usr/bin/pydoc - * /usr/bin/python - * /usr/bin/python2 - * /usr/bin/python3 - * /usr/bin/python-config - -For more information on python-exec, please see: -https://wiki.gentoo.org/wiki/Project:Python/python-exec diff --git a/2018-05-22-python3-6/2018-05-22-python3-6.en.txt b/2018-05-22-python3-6/2018-05-22-python3-6.en.txt deleted file mode 100644 index c8901e9..0000000 --- a/2018-05-22-python3-6/2018-05-22-python3-6.en.txt +++ /dev/null @@ -1,61 +0,0 @@ -Title: Python 3.6 to become the default target -Author: Michał Górny <mgorny@gentoo.org> -Posted: 2018-05-22 -Revision: 1 -News-Item-Format: 2.0 -Display-If-Installed: dev-lang/python:3.4 -Display-If-Installed: dev-lang/python:3.5 - -On 2018-06-22, Python 3.6 will replace Python 3.5 in the default Python -targets for Gentoo systems. The new default targets will be: - - PYTHON_TARGETS="python2_7 python3_6" - PYTHON_SINGLE_TARGET="python3_6" - -If you have not overriden the value of those variables on your system, -then your package manager will want to use the new targets immediately. -In order to prevent dependency conflicts, please clean stray packages -and rebuild/upgrade all packages with USE flag changes after the change, -e.g.: - - emerge --depclean - emerge -1vUD @world - emerge --depclean - -Please note that upgrading dependencies in place may cause some -of the package dependencies to be temporarily missing. While this -should not affect scripts that are already fully loaded, it may cause -ImportErrors while starting Python scripts or loading additional -modules (only scripts running Python 3.5 are affected). - -In order to improve stability of the upgrade, you may choose to -temporarily enable both targets, i.e. set in /etc/portage/make.conf -or its equivalent: - - PYTHON_TARGETS="python2_7 python3_5 python3_6" - PYTHON_SINGLE_TARGET="python3_5" - -This will cause the dependencies to include both Python 3.5 and 3.6 -support on the next system upgrade. Once all packages are updated, -you can restart your scripts, remove the custom setting and run another -upgrade to remove support for Python 3.5. - -If you would like to postpone the switch to Python 3.6, you can copy -the current value of PYTHON_TARGETS and/or PYTHON_SINGLE_TARGET -to /etc/portage/make.conf or its equivalent: - - PYTHON_TARGETS="python2_7 python3_5" - PYTHON_SINGLE_TARGET="python3_5" - -If you would like to migrate your systems earlier, you can do the same -with the new value. - -If you are still using Python 3.4, please consider switching to a newer -version as it is reaching its end-of-life. The end-of-life dates -for the currently used versions are: - - Python 3.4 2019-03-16 - Python 2.7 2020-01-01 - Python 3.5 2020-09-13 [1] - -[1]:https://devguide.python.org/#status-of-python-branches diff --git a/2020-04-22-python3-7/2020-04-22-python3-7.en.txt b/2020-04-22-python3-7/2020-04-22-python3-7.en.txt deleted file mode 100644 index c933ca6..0000000 --- a/2020-04-22-python3-7/2020-04-22-python3-7.en.txt +++ /dev/null @@ -1,70 +0,0 @@ -Title: Python 3.7 to become the default target -Author: Michał Górny <mgorny@gentoo.org> -Posted: 2020-04-22 -Revision: 1 -News-Item-Format: 2.0 -Display-If-Installed: dev-lang/python:3.6 -Display-If-Installed: dev-lang/python:3.7 - -On 2020-05-06 (or later), Python 3.7 will replace Python 3.6 as one -of the default Python targets for Gentoo systems. The new default -values will be: - - PYTHON_TARGETS="python2_7 python3_7" - PYTHON_SINGLE_TARGET="python3_7" - -If you have not overriden these variables on your system, then your -package manager will switch to the new targets immediately. In order -to avoid dependency conflicts, please clean stray packages up -and rebuild/upgrade all packages with USE flag changes after the change, -e.g.: - - emerge --depclean - emerge -1vUD @world - emerge --depclean - -Please note that during the system upgrade some of the package -dependencies may temporarily become missing. While this should not -affect programs that are already fully loaded, it may cause ImportErrors -when starting Python scripts or loading additional modules (only scripts -running Python 3.6 are affected). - -In order to improve stability of the upgrade, you may choose to -temporarily enable both targets, i.e. set in /etc/portage/package.use -or its equivalent: - - */* PYTHON_TARGETS: python3_6 python3_7 - */* PYTHON_SINGLE_TARGET: -* python3_6 - -This will cause the dependencies to include both Python 3.6 and 3.7 -support whenever possible, throughout the next system upgrade. Once all -packages are updated, you can restart your scripts, remove the setting -and start another upgrade in order to cleanly remove Python 3.6. - -There are still some Gentoo packages that do not support Python 3.7. -We will be pushing updates to these packages as time permits. However, -some of them will probably be removed instead. - -If you would like to postpone the switch to Python 3.7, you can copy -the current value of PYTHON_TARGETS and/or PYTHON_SINGLE_TARGET -to /etc/portage/package.use or its equivalent: - - */* PYTHON_TARGETS: -python3_7 python3_6 - */* PYTHON_SINGLE_TARGET: -* python3_6 - -If you would like to migrate your systems earlier, you can do -the opposite. Note that if you are running ~arch, you may want to go -straight for Python 3.8 at this point. - -Please note that this switch is long overdue. Python 3.6 is no longer -receiving bug fixes. Its planned end-of-life is 2021-12-23 but we will -probably remove it earlier than that. [1] - -All above snippets assume using package.use to control USE flags. -If you still have make.conf entries for these targets, you need -to remove them. While using make.conf is possible, it is strongly -discouraged as it does not respect package defaults. The latter -can help you keep some of Python 3.6 packages without the need to -explicitly toggle flags per-package. - -[1] https://devguide.python.org/#status-of-python-branches diff --git a/2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt b/2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt deleted file mode 100644 index 5a6e9bc..0000000 --- a/2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt +++ /dev/null @@ -1,59 +0,0 @@ -Title: Python 2.7 cleanup is progressing -Author: Michał Górny <mgorny@gentoo.org> -Posted: 2020-09-28 -Revision: 1 -News-Item-Format: 2.0 -Display-If-Installed: dev-lang/python:2.7 - -Python 2.7 has reached its end-of-life by 2019-12-31, and many projects -have removed Python 2 support since. During the last few months we have -been working hard to migrate Gentoo to Python 3, and we have finally -reached the point making it possible for the vast majority of our users -to run a system free of Python 2.7 packages (except for the interpreter -itself). - -The few remaining high profile packages (e.g. dev-python/cython) -are preserving Python 2.7 only for a very few uncommon packages. -For this reason, we have decided to create new revisions of them having -Python 2.7 removed. If you do not need Python 2.7 there, your package -manager should upgrade these packages to the new revisions. - -Please note that you may need to manually uninstall any Python 2.7 -packages installed from third-party repositories and/or run `emerge ---depclean` first to remove orphan packages. The recommended process -for Portage users is: - - emerge --depclean - emerge -vDuU @world - emerge --depclean - -Please note that the Python 2.7 interpreter (without additional Python -packages) remains necessary to build a few high profile packages, -in particular Chromium, Mozilla software and PyPy. If you build either -of these packages from source, you will not be able to permanently -remove Python 2.7 from your system. - -We are going to preserve CPython 2.7 (and PyPy2.7) for as long -as necessary and provide security fixes to the best of our ability. -However, please note that we are not able to dedicate resources to -auditing Python 2.7's code and with little community interest in that, -it should be considered potentially vulnerable. - -If your projects still rely on Python 2.7, we would like to once again -encourage you to migrate them to Python 3. However, if you really need -to run them, we suggest using a virtualenv. To create a new Python 2.7 -environment, install dev-python/virtualenv and use the following option: - - virtualenv -p /usr/bin/python2.7 ... - -To create a PyPy2.7 environment: - - virtualenv -p /usr/bin/pypy ... - -Modern versions of pip should be able to automatically select older -versions of packages that still support Python 2.7. Please note that -these versions are generally no longer supported. They can be buggy, -vulnerable or simply incompatible with one another. - -Please do not forget to add dev-lang/python:2.7 to your @world set -or it may get depcleaned once all package dependencies are gone. diff --git a/2021-01-30-python-preference-to-follow-python-targets/2021-01-30-python-preference-to-follow-python-targets.en.txt b/2021-01-30-python-preference-to-follow-python-targets/2021-01-30-python-preference-to-follow-python-targets.en.txt deleted file mode 100644 index dbdf2a7..0000000 --- a/2021-01-30-python-preference-to-follow-python-targets/2021-01-30-python-preference-to-follow-python-targets.en.txt +++ /dev/null @@ -1,48 +0,0 @@ -Title: Python preference to follow PYTHON_TARGETS -Author: Michał Górny <mgorny@gentoo.org> -Posted: 2021-01-30 -Revision: 1 -News-Item-Format: 2.0 - -On 2021-02-01 stable users will switch to a new method of updating -the preferred Python versions that employs the configuration update -mechanism in order to follow PYTHON_TARGETS. We will also deprecate -app-eselect/eselect-python, and it will stop being installed by default -after 2021-07-01. If you wish to use the newest Python version present -in your PYTHON_TARGETS, you only have to accept configuration changes. -If you wish to customize the behavior, read on. - -Since 2017, /usr/bin/python and the related non-versioned symlinks -are wrapped through dev-lang/python-exec. The list of preferred Python -implementations is stored in /etc/python-exec/python-exec.conf and/or -per-program /etc/python-exec/<basename>.conf configuration files. -To preserve backwards compatibility, app-eselect/eselect-python remained -a wrapper that updated this file. - -However, this mechanism alone has proven inconvenient to end users who -had to update python-exec.conf whenever the default PYTHON_TARGETS -changed. Thanks to the fallback logic, this was not a major problem -for software installed via Gentoo packages that always ensure that -a supported implementation is used. However, users have reported that -whenever the preference for /usr/bin/python mismatched their -PYTHON_TARGETS, their custom scripts would break due to unsatisfied -dependencies. This does not follow the principle of least surprise. - -For this reason, we have decided to change the default python-exec -configuration to match PYTHON_TARGETS by default, in the eclass -preference order, that is from the newest CPython version to oldest, -with alternative Python implementations coming afterwards. This change -will be propagated via the configuration protection mechanism whenever -dev-lang/python-exec-conf is installed or rebuilt due to PYTHON_TARGETS -changes. This will permit the users to interactively confirm -the updates. - -If the new default is not correct for you, please use your preferred -configuration update tool to discard or edit the new configuration file. - -Furthermore, dev-lang/python will no longer attempt to automatically -update the Python interpreter preference, or pull in eselect-python -automatically. If you wish to continue using it, please install/record -it explicitly to ensure that it is not unmerged, e.g.: - - emerge -n app-eselect/eselect-python diff --git a/2021-01-30-python-preference-to-follow-python-targets/2021-01-30-python-preference-to-follow-python-targets.ru.txt b/2021-01-30-python-preference-to-follow-python-targets/2021-01-30-python-preference-to-follow-python-targets.ru.txt deleted file mode 100644 index b099188..0000000 --- a/2021-01-30-python-preference-to-follow-python-targets/2021-01-30-python-preference-to-follow-python-targets.ru.txt +++ /dev/null @@ -1,49 +0,0 @@ -Title: Предпочтения Python будут следовать за PYTHON_TARGETS -Author: Michał Górny <mgorny@gentoo.org> -Translator: Alexey Sokolov <alexey+gentoo@asokolov.org> -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 diff --git a/2021-05-05-python3-9/2021-05-05-python3-9.en.txt b/2021-05-05-python3-9/2021-05-05-python3-9.en.txt deleted file mode 100644 index f42ec91..0000000 --- a/2021-05-05-python3-9/2021-05-05-python3-9.en.txt +++ /dev/null @@ -1,119 +0,0 @@ -Title: Python 3.9 to become the default on 2021-06-01 -Author: Michał Górny <mgorny@gentoo.org> -Posted: 2021-05-05 -Revision: 1 -News-Item-Format: 2.0 -Display-If-Installed: dev-lang/python:3.7 -Display-If-Installed: dev-lang/python:3.8 - -We are planning to switch the default Python target of Gentoo systems -on 2021-06-01, from Python 3.8 to Python 3.9. If you have not changed -the values of PYTHON_TARGETS or PYTHON_SINGLE_TARGET, the change will -have immediate effect on your system and the package manager will try -to switch automatically on the next upgrade following the change. - -If you did change the values, prefer a safer approach or have problems -with the update, read on. - -Please note that the default upgrade method switches packages to the new -Python versions as they are rebuilt. This means that all interdependent -packages have to support the new version for the upgrade to proceed, -and that some programs may temporarily fail to find their dependencies -throughout the upgrade (although programs that are already started -are unlikely to be affected). - - -If you have PYTHON_TARGETS or PYTHON_SINGLE_TARGET declared -in make.conf, please remove these declarations as they will interfere -with the package.use samples provided below. Using make.conf for Python -targets is discouraged as it prevents package defaults from applying -when necessary. This news item assumes using /etc/portage/package.use -or your package manager's equivalent file for configuration. - - -At this point, you have a few configuration options to choose from: - -1. If you wish Python upgrades to apply automatically, you can remove - PYTHON_TARGETS and PYTHON_SINGLE_TARGET declarations. When - the defaults change, your package manager should handle the upgrade - automatically. However, you may still need to run the update - commands if any problems arise. - -2. If you wish to defer the upgrade for the time being, you can - explicitly set the old values in package.use. - -3. If you wish to force the upgrade earlier, you can explicitly set - the new values and run the upgrade commands. - -4. If you wish to use a safer approach (i.e. less likely to temporarily - break packages during the upgrade), you can perform a multi-step - upgrade as outlined below. - -5. Finally, you can use an arbitrary combination of PYTHON_TARGETS - and PYTHON_SINGLE_TARGET. - - -Deferring the upgrade -===================== -To defer the upgrade, explicitly set the old targets: - - */* PYTHON_TARGETS: -* python3_8 - */* PYTHON_SINGLE_TARGET: -* python3_8 - -This will enforce Python 3.8 and block any future updates. However, -please note that this solution will only be suitable for a few more -months and you will eventually need to perform the migration. - - -Forcing the upgrade -=================== -To force the upgrade earlier, explicitly set Python 3.9 targets: - - */* PYTHON_TARGETS: -* python3_9 - */* PYTHON_SINGLE_TARGET: -* python3_9 - -However, it is important to remember to remove this after the defaults -change, as it will interfere with the automatic switch to the next -Python version in the future. - - -Safer upgrade procedure -======================= -A safer approach is to add Python 3.9 support to your system first, -and only then remove Python 3.8. However, note that involves two -rebuilds of all the affected packages, so it will take noticeably -longer. - -First, enable both Python 3.8 and Python 3.9, and then run the upgrade -commands: - - */* PYTHON_TARGETS: -* python3_8 python3_9 - */* PYTHON_SINGLE_TARGET: -* python3_8 - -Then switch PYTHON_SINGLE_TARGET and run a second batch of upgrades: - - */* PYTHON_TARGETS: -* python3_8 python3_9 - */* PYTHON_SINGLE_TARGET: -* python3_9 - -Finally, switch to the final version and upgrade: - - */* PYTHON_TARGETS: -* python3_9 - */* PYTHON_SINGLE_TARGET: -* python3_9 - -You may wish to remove the target overrides after the defaults switch. -Alternatively, you can keep them to block the next automatic upgrade -to Python 3.10, and upgrade manually then. - - -Upgrade commands -================ -The Python 3.8 cleanup requires that Python 3.8 is removed from complete -dependency trees in batch. If some of the installed packages using -an older Python version are not triaged for the upgrade, the package -manager will throw dependency conflicts. This makes it important that -the upgrade is carried via a --deep --changed-use @world upgrade, -as well as that any stray packages are removed prior to it, e.g.: - - emerge --depclean - emerge -1vUD @world - emerge --depclean diff --git a/2021-05-05-python3-9/2021-05-05-python3-9.ru.txt b/2021-05-05-python3-9/2021-05-05-python3-9.ru.txt deleted file mode 100644 index 035c6e2..0000000 --- a/2021-05-05-python3-9/2021-05-05-python3-9.ru.txt +++ /dev/null @@ -1,121 +0,0 @@ -Title: Python 3.9 станет базовым с 2021-06-01 -Author: Michał Górny <mgorny@gentoo.org> -Translator: Alexey Sokolov <alexey+gentoo@asokolov.org> -Posted: 2021-05-05 -Revision: 1 -News-Item-Format: 2.0 -Display-If-Installed: dev-lang/python:3.7 -Display-If-Installed: dev-lang/python:3.8 - -1 июня 2021 года мы собираемся переключить Python target, используемый -по умолчанию на системах Gentoo, с версии 3.8 на версию 3.9. -Если вы не меняли значения переменных PYTHON_TARGETS или -PYTHON_SINGLE_TARGET, то упомянутое изменение затронет систему сразу -и пакетный менеджер попытается переключиться на новый Python target -автоматически при следующем обновлении системы. - -Если вы изменили значения этих переменных, предпочитаете более -безопасный подход или при обновлении возникли проблемы, то -продолжайте читать далее. - -Пожалуйста, обратите внимание, что метод обновления по умолчанию -переключает пакеты на новую версию Python после их пересборки. -Это означает, что все зависящие друг от друга пакеты должны поддерживать -новую версию Python для продолжения обновления и некоторые программы -временно могут не находить свои зависимости во время обновления -(однако, запущенные программы, вероятно, не будут подвержены проблеме). - -Если переменные PYTHON_TARGETS или PYTHON_SINGLE_TARGET объявлены -в вашем make.conf файле, пожалуйста, удалите их, так как они будут -конфликтовать с представленными ниже примерами конфигурации package.use. -Мы не рекомендуем использовать файл make.conf для задания значений -переменных Python target, так как это препятствует применению этих -значений по умолчанию для пакетов, когда это необходимо. В этой новости -мы предполагаем, что вы используете файл /etc/portage/package.use -или ваш эквивалент этого файла конфигурации пакетного менеджера. - -С этого момента у вас есть выбор из следующих вариантов настройки: - -1. Если вы хотите, чтобы Python обновлялся автоматически, вы можете - удалить объявленные переменные PYTHON_TARGETS и PYTHON_SINGLE_TARGET. - Когда их значения по умолчанию изменятся, пакетный менеджер должен - самостоятельно всё обновить. Но если возникнут проблемы, вам всё ещё - может понадобиться запустить команды обновления. - -2. Если вы хотите пока отложить обновление, вы можете явно указать - старые значения в файле package.use. - -3. Если вы хотите обновиться раньше, вы можете явно задать новые - значения и запустить команды обновления. - -4. Если вы хотите использовать более безопасный подход (т.е. с меньшей - вероятностью временной поломки пакетов во время обновления), - вы можете выполнить последовательное обновление, описанное ниже. - -5. Наконец, вы можете произвольным образом комбинировать значения - переменных PYTHON_TARGETS и PYTHON_SINGLE_TARGET. - - -Откладывание обновления -======================= -Чтобы отложить обновление, явно укажите старые значения: - - */* PYTHON_TARGETS: -* python3_8 - */* PYTHON_SINGLE_TARGET: -* python3_8 - -Это заставит систему использовать Python 3.8 и предотвратит последующие -обновления. Однако, учтите, что такое решение применимо только -в течение несколько месяцев и в конце концов вам всё-таки придётся -провести обновление. - - -Принудительное обновление -========================= -Чтобы обновиться до Python 3.9 раньше, явно укажите новые значения: - - */* PYTHON_TARGETS: -* python3_9 - */* PYTHON_SINGLE_TARGET: -* python3_9 - -При этом важно не забыть удалить эти строки после изменения значений -по умолчанию, иначе они помешают последующим автоматическим обновлениям -на следующие версии Python. - - -Процедура безопасного обновления -================================ -Более безопасный подход такой: сначала добавляется в систему поддержка -Python 3.9, а затем удаляется поддержка Python 3.8. Однако, учтите, -что все затронутые пакеты будут пересобраны дважды, что заметно дольше. - -Сначала включите Python 3.8 и Python 3.9 и запустите команды обновления: - - */* PYTHON_TARGETS: -* python3_8 python3_9 - */* PYTHON_SINGLE_TARGET: -* python3_8 - -Затем замените PYTHON_SINGLE_TARGET и ещё раз запустите обновление: - - */* PYTHON_TARGETS: -* python3_8 python3_9 - */* PYTHON_SINGLE_TARGET: -* python3_9 - -Наконец, переключитесь на окончательную версию и запустите обновление: - - */* PYTHON_TARGETS: -* python3_9 - */* PYTHON_SINGLE_TARGET: -* python3_9 - -После смены значений по умолчанию вы можете удалить эти настройки. -Или же вы можете оставить их, предотвращая автоматическое обновление -до Python 3.10, и позже обновиться вручную. - - -Команды обновления -================== -Для очистки системы от Python 3.8 требуется удалить его сразу из -всего дерева зависимостей. Если какие-то установленные пакеты, -использующие старую версию Python, не помечены для обновления, -пакетный менеджер покажет ошибки зависимостей. Поэтому важно проводить -обновление с использованием опций --deep --changed-use @world, -а также перед этим удалить все более не требуемые пакеты: - - emerge --depclean - emerge -1vUD @world - emerge --depclean |