обновите Ubuntu 18.04 до 20.04, но пакеты останутся +bionic1

после обновления до ubuntu 20.04 некоторые пакеты остаются в версии +bionic1

sudo apt list | grep python3.8


WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

idle-python3.8/focal-updates,focal-updates,focal-security,focal-security 3.8.2-1ubuntu1.1 all
libpython3.8-dbg/focal-updates,focal-security 3.8.2-1ubuntu1.1 amd64
libpython3.8-dbg/focal-updates,focal-security 3.8.2-1ubuntu1.1 i386
libpython3.8-dev/focal-updates,focal-security 3.8.2-1ubuntu1.1 amd64
libpython3.8-dev/focal-updates,focal-security 3.8.2-1ubuntu1.1 i386
libpython3.8-minimal/now 3.8.2-1+bionic1 amd64 [installed,local]
libpython3.8-minimal/focal-updates,focal-security 3.8.2-1ubuntu1.1 i386
libpython3.8-stdlib/now 3.8.2-1+bionic1 amd64 [installed,local]
libpython3.8-stdlib/focal-updates,focal-security 3.8.2-1ubuntu1.1 i386
libpython3.8-testsuite/focal-updates,focal-updates,focal-security,focal-security 3.8.2-1ubuntu1.1 all
libpython3.8/focal-updates,focal-security 3.8.2-1ubuntu1.1 amd64
libpython3.8/focal-updates,focal-security 3.8.2-1ubuntu1.1 i386
python3.8-dbg/focal-updates,focal-security 3.8.2-1ubuntu1.1 amd64
python3.8-dbg/focal-updates,focal-security 3.8.2-1ubuntu1.1 i386
python3.8-dev/focal-updates,focal-security 3.8.2-1ubuntu1.1 amd64
python3.8-dev/focal-updates,focal-security 3.8.2-1ubuntu1.1 i386
python3.8-doc/focal-updates,focal-updates,focal-security,focal-security 3.8.2-1ubuntu1.1 all
python3.8-examples/focal-updates,focal-updates,focal-security,focal-security 3.8.2-1ubuntu1.1 all
python3.8-minimal/now 3.8.2-1+bionic1 amd64 [installed,local]
python3.8-minimal/focal-updates,focal-security 3.8.2-1ubuntu1.1 i386
python3.8-venv/focal-updates,focal-security 3.8.2-1ubuntu1.1 amd64
python3.8-venv/focal-updates,focal-security 3.8.2-1ubuntu1.1 i386
python3.8/now 3.8.2-1+bionic1 amd64 [installed,local]
python3.8/focal-updates,focal-security 3.8.2-1ubuntu1.1 i386

как вы можете видеть выше, python3.8-minimal/now 3.8.2-1+bionic1 amd64 [installed,local] остается в бионической версии, если я хочу очистить и установить python3.8, тогда многие зависимости также будут удалены, и это может привести к поломке моей ОС, как я могу нажать Ubuntu, чтобы переключить все пакеты установки +bionic1 на фокальную версию ubuntu1.1 или ubuntu1


person Ramin Farmani    schedule 06.05.2020    source источник


Ответы (3)


В конечном счете, мейнтейнеры, вероятно, должны сделать исправление для пакетов Python, поскольку анализатор версии/эпохи, по-видимому, считает, что префикс -1+bionic1 новее, чем -1ubuntu1.1.

В моем случае префикс -1+bionic1 для Python 3.8 возник из-за установки пакетов Python 3.8 из deadsnakes PPA а не из канонических репозиториев.

Тем не менее, я смог принудительно «понизить версию» до правильных пакетов Ubuntu-Focal, используя эту команду:

sudo apt install libpython3.8:amd64=3.8.2-1ubuntu1.1 libpython3.8-dev:amd64=3.8.2-1ubuntu1.1 libpython3.8-minimal:amd64=3.8.2-1ubuntu1.1 libpython3.8-stdlib:amd64=3.8.2-1ubuntu1.1 python3.8=3.8.2-1ubuntu1.1 python3.8-minimal=3.8.2-1ubuntu1.1

Я столкнулся с этой проблемой, пытаясь установить другие библиотеки Python, такие как python3-venv, после обновления системы 18.04-> 20.04, и эти пакеты привязали свои зависимости к версии 3.8.2-1ubuntu1.1.

person pztrick    schedule 09.05.2020
comment
чтобы получить имя пакета, используйте команду: apt-cache showpkg python3.8, которая показывает вместо имени суффикс 3.8.2-1ubuntu1. - person oon arfiandwi; 26.11.2020

у меня была аналогичная проблема при установке vim после обновления с 18.04 до 20.04. сочетание ответа pztrick и комментария oon arfiandwi к принятому ответу сработало для меня

sudo apt install libpython3.8:amd64=3.8.2-1ubuntu1 libpython3.8-dev:amd64=3.8.2-1ubuntu1 libpython3.8-minimal:amd64=3.8.2-1ubuntu1 libpython3.8-stdlib:amd64=3.8.2-1ubuntu1 python3.8=3.8.2-1ubuntu1 python3.8-minimal=3.8.2-1ubuntu1
person Aayush Neupane    schedule 26.04.2021

После запуска apt --fix-broken install я могу установить vim.

person xman    schedule 20.05.2021