---Обновление (более подробная информация) приведено внизу.---
Я успешно выполнил In-distro-upgrade с Ubuntu 19.04 на 20.04 LTS. Это было уже некоторое время назад, и машина является моим ежедневным рабочим клиентом. В это время я смог применить обновления Ubuntu. У меня установлено много пакетов. Большинство из них были установлены классической системой управления пакетами apt-get.
В то же время я установил несколько пакетов, которые требуют разные версии python. Теперь у меня серьезные проблемы, потому что с тех пор я не могу ничего установить в своей системе.
Я прочитал много постов, которые касаются этого хаоса python без окончательного решения. И я знаю на будущее, что мне придется использовать pip или docker. Так что я так и сделаю.
Но на данный момент я полагаюсь на своего ежедневного рабочего клиента, и нет возможности завести нового.
Есть ли способ настроить стабильное, нативное состояние для python, как будто я сделал новую установку (своего рода сброс состояния)? Кроме того, если после этого некоторые пользовательские программы на основе python не запускаются.
Я не могу локализовать, когда эта проблема возникла. Ниже я представляю некоторый анализ моей системы.
Я видел, что некоторые остановленные установки программ с управлением пакетами (apt-get install) перезаписывают общесистемный /usr/bin/python2 -> python2.7, но это отрицается. Я сильно подозреваю, что это происходит из-за зависимости python-gtk2?!, потому что эта ошибка/сообщение несколько недель назад были единственными. При попытке решить проблему я получаю это новое сообщение для python-enchant.
Заранее большое спасибо за полезные идеи.
------Моя система (извините, это немецкая локализация)
user@mymachine:~$ **lsb_release -a**
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
пользователь@mymachine:~$список моментальных снимков sudo
Name Version Revision Tracking Herausgeber Hinweise
core 16-2.49.2 10958 latest/stable canonical? core
core18 20210309 1997 latest/stable canonical? base
go 1.16.3 7360 latest/stable mwhudson classic
gtk-common-themes 0.1-52-gb92ac40 1515 latest/stable canonical? -
gtk2-common-themes 0.1 13 latest/stable canonical? -
------Использование Python в рамках текущего сеанса
пользователь@mymachine: ~$ps aux | grep python
root 1213 0.0 0.0 39732 14776 ? Ss Mai02 0:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
root 1601 0.0 0.1 118480 16892 ? Ssl Mai02 0:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
user 3120 0.0 0.1 435708 27452 ? Sl Mai02 0:00 /usr/bin/python3 /usr/bin/blueman-applet
user 3125 0.0 0.1 65492 32024 ? S Mai02 0:00 /usr/bin/python3 /usr/share/system-config-printer/applet.py
user 3245 0.0 0.1 360956 28980 ? Sl Mai02 0:00 /usr/bin/python3 /usr/bin/blueman-tray
user 22367 0.0 0.0 9412 672 pts/4 S+ 10:39 0:00 grep --color=auto python
*------После sudo apt-upgrade или пакетной установки через.deb или sudo apt-get install я получаю сообщение о проблеме зависимостей:
Die folgenden Pakete haben unerfüllte Abhängigkeiten:
python-enchant : Hängt ab von: python:any (>= 2.7.5-5~)
Hängt ab von: python:any (< 2.8)
python-gtk2 : Hängt ab von: python (>= 2.7)
Hängt ab von: python (< 2.8)
python-gtksourceview2 : Hängt ab von: python (>= 2.7)
Hängt ab von: python (< 2.8)
E: Unerfüllte Abhängigkeiten. Versuchen Sie »apt --fix-broken install« ohne Angabe eines Pakets (oder geben Sie eine Lösung an).
------Анализ Python пользователь@mymachine:~$*dpkg -l | grep libpython.минимальный
ii libpython2.7-minimal:amd64 2.7.18-1~20.04 amd64 Minimal subset of the Python language (version 2.7)
ii libpython3.7-minimal:amd64 3.7.5-2~19.10ubuntu1 amd64 Minimal subset of the Python language (version 3.7)
ii libpython3.8-minimal:amd64 3.8.5-1~20.04 amd64 Minimal subset of the Python language (version 3.8)
пользователь@mymachine:~$sudo apt-cache --installed -i --recurse rdepends libpython3.8-minimal | grep "^ " | sort -u |xargs apt-mark auto
apport wurde bereits auf automatisch installiert gesetzt.
aptdaemon wurde bereits auf automatisch installiert gesetzt.
apturl-common wurde bereits auf automatisch installiert gesetzt.
command-not-found wurde bereits auf automatisch installiert gesetzt.
gdb wurde bereits auf automatisch installiert gesetzt.
gir1.2-peas-1.0 wurde bereits auf automatisch installiert gesetzt.
gnome-software-plugin-snap wurde bereits auf automatisch installiert gesetzt.
ibus wurde bereits auf automatisch installiert gesetzt.
Markierung für ibus:i386 kann nicht gesetzt werden, da es nicht installiert ist.
language-selector-common wurde bereits auf automatisch installiert gesetzt.
Markierung für libglib2.0-dev-bin:i386 kann nicht gesetzt werden, da es nicht installiert ist.
libpeas-1.0-0 wurde bereits auf automatisch installiert gesetzt.
libpurple-bin wurde bereits auf automatisch installiert gesetzt.
libpython3.8 wurde bereits auf automatisch installiert gesetzt.
libpython3.8-stdlib wurde bereits auf automatisch installiert gesetzt.
libpython3-stdlib wurde bereits auf automatisch installiert gesetzt.
libsmbclient wurde bereits auf automatisch installiert gesetzt.
netplan.io wurde bereits auf automatisch installiert gesetzt.
networkd-dispatcher wurde bereits auf automatisch installiert gesetzt.
onboard-common wurde bereits auf automatisch installiert gesetzt.
onboard-data wurde bereits auf automatisch installiert gesetzt.
printer-driver-foo2zjs-common wurde bereits auf automatisch installiert gesetzt.
printer-driver-postscript-hp wurde bereits auf automatisch installiert gesetzt.
python3.8 wurde bereits auf automatisch installiert gesetzt.
python3.8-minimal wurde bereits auf automatisch installiert gesetzt.
python3-apport wurde bereits auf automatisch installiert gesetzt.
python3-apsw wurde bereits auf automatisch installiert gesetzt.
python3-apt wurde bereits auf automatisch installiert gesetzt.
python3-aptdaemon wurde bereits auf automatisch installiert gesetzt.
python3-aptdaemon.gtk3widgets wurde bereits auf automatisch installiert gesetzt.
python3-cairo wurde bereits auf automatisch installiert gesetzt.
python3-cffi-backend wurde bereits auf automatisch installiert gesetzt.
python3-chm wurde bereits auf automatisch installiert gesetzt.
python3-commandnotfound wurde bereits auf automatisch installiert gesetzt.
python3-crypto wurde bereits auf automatisch installiert gesetzt.
python3-cryptography wurde bereits auf automatisch installiert gesetzt.
python3-cssselect wurde bereits auf automatisch installiert gesetzt.
python3-cups wurde bereits auf automatisch installiert gesetzt.
python3-cupshelpers wurde bereits auf automatisch installiert gesetzt.
python3-dbus wurde bereits auf automatisch installiert gesetzt.
python3-debianbts wurde bereits auf automatisch installiert gesetzt.
python3-distupgrade wurde bereits auf automatisch installiert gesetzt.
python3-gdbm wurde bereits auf automatisch installiert gesetzt.
python3-gi wurde bereits auf automatisch installiert gesetzt.
python3-gi-cairo wurde bereits auf automatisch installiert gesetzt.
python3-gpg wurde bereits auf automatisch installiert gesetzt.
python3-html5-parser wurde bereits auf automatisch installiert gesetzt.
python3-ibus-1.0 wurde bereits auf automatisch installiert gesetzt.
python3-keyring wurde bereits auf automatisch installiert gesetzt.
python3-launchpadlib wurde bereits auf automatisch installiert gesetzt.
python3-lazr.restfulclient wurde bereits auf automatisch installiert gesetzt.
python3-ldb wurde bereits auf automatisch installiert gesetzt.
python3-lxml wurde bereits auf automatisch installiert gesetzt.
python3-minimal wurde bereits auf automatisch installiert gesetzt.
python3-msgpack wurde bereits auf automatisch installiert gesetzt.
python3-nacl wurde bereits auf automatisch installiert gesetzt.
python3-netifaces wurde bereits auf automatisch installiert gesetzt.
python3-numpy wurde bereits auf automatisch installiert gesetzt.
python3-oauthlib wurde bereits auf automatisch installiert gesetzt.
python3-odf wurde bereits auf automatisch installiert gesetzt.
python3-pil wurde bereits auf automatisch installiert gesetzt.
python3-psutil wurde bereits auf automatisch installiert gesetzt.
python3-pycurl wurde bereits auf automatisch installiert gesetzt.
python3-pymacaroons wurde bereits auf automatisch installiert gesetzt.
python3-pyqt5.qtsvg wurde bereits auf automatisch installiert gesetzt.
python3-pyqt5.qtwebchannel wurde bereits auf automatisch installiert gesetzt.
python3-pyqt5.qtwebengine wurde bereits auf automatisch installiert gesetzt.
python3-pysimplesoap wurde bereits auf automatisch installiert gesetzt.
python3-regex wurde bereits auf automatisch installiert gesetzt.
python3-renderpm wurde bereits auf automatisch installiert gesetzt.
python3-reportlab wurde bereits auf automatisch installiert gesetzt.
python3-reportlab-accel wurde bereits auf automatisch installiert gesetzt.
python3-samba wurde bereits auf automatisch installiert gesetzt.
python3-sane wurde bereits auf automatisch installiert gesetzt.
python3-secretstorage wurde bereits auf automatisch installiert gesetzt.
python3-setuptools wurde bereits auf automatisch installiert gesetzt.
python3-simplejson wurde bereits auf automatisch installiert gesetzt.
python3-software-properties wurde bereits auf automatisch installiert gesetzt.
python3-systemd wurde bereits auf automatisch installiert gesetzt.
python3-talloc wurde bereits auf automatisch installiert gesetzt.
python3-tdb wurde bereits auf automatisch installiert gesetzt.
python3-tk wurde bereits auf automatisch installiert gesetzt.
python3-uno wurde bereits auf automatisch installiert gesetzt.
python3-update-manager wurde bereits auf automatisch installiert gesetzt.
python3-urwid wurde bereits auf automatisch installiert gesetzt.
python3-webob wurde bereits auf automatisch installiert gesetzt.
python3-yaml wurde bereits auf automatisch installiert gesetzt.
python-apt-common wurde bereits auf automatisch installiert gesetzt.
python-odf-tools wurde bereits auf automatisch installiert gesetzt.
samba-common-bin wurde bereits auf automatisch installiert gesetzt.
samba-dsdb-modules wurde bereits auf automatisch installiert gesetzt.
samba-libs wurde bereits auf automatisch installiert gesetzt.
system-config-printer-common wurde bereits auf automatisch installiert gesetzt.
system-config-printer-udev wurde bereits auf automatisch installiert gesetzt.
ubuntu-advantage-tools wurde bereits auf automatisch installiert gesetzt.
ubuntu-release-upgrader-core wurde bereits auf automatisch installiert gesetzt.
unattended-upgrades wurde bereits auf automatisch installiert gesetzt.
virtualbox-qt wurde bereits auf automatisch installiert gesetzt.
xserver-xorg wurde bereits auf automatisch installiert gesetzt.
Markierung für xserver-xorg-hwe-16.04 kann nicht gesetzt werden, da es nicht installiert ist.
E: Could not create temporary file for /var/lib/apt/extended_states - mkstemp (13: Keine Berechtigung)
E: Temporäres StateFile /var/lib/apt/extended_states konnte nicht geschrieben werden.
пользователь@mymachine: ~$apt-cache rdepends -i --installed --recurse python2 | grep -v " " | sort -u
calibre
font-manager
gimp
meld
nautilus-dropbox
ocrfeeder
python2
python-apsw
python-cairo
python-cffi-backend
python-crypto
python-cryptography
python-dbus
python-gi
python-gobject
python-gobject-2
python-gtk2
python-gtksourceview2
python-libxml2
python-lxml
python-netifaces
python-numpy
python-openssl
python-pil
python-simplejson
python-sip
python-tk
python-yaml
scribus
scribus-data
пользователь@mymachine: ~$ls -al /usr/bin/python*
lrwxrwxrwx 1 root root 24 Feb 24 14:48 /usr/bin/python -> /etc/alternatives/python
lrwxrwxrwx 1 root root 9 Feb 24 2020 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3629032 Aug 4 2020 /usr/bin/python2.7
lrwxrwxrwx 1 root root 33 Aug 4 2020 /usr/bin/python2.7-config -> x86_64-linux-gnu-python2.7-config
lrwxrwxrwx 1 root root 9 Mär 13 2020 /usr/bin/python3 -> python3.8
-rwxr-xr-x 2 root root 5102632 Apr 19 2020 /usr/bin/python3.7
-rwxr-xr-x 2 root root 5102632 Apr 19 2020 /usr/bin/python3.7m
-rwxr-xr-x 1 root root 5486352 Jul 28 2020 /usr/bin/python3.8
--- Обновление 01 ---
Привет, я привожу полный вывод sudo apt -f install здесь:
Если вы видите, есть блокировка общесистемной версии Python (2.7.17-1), которую необходимо обновить с помощью этого пакета: python-is-python2_2.7.17-4_all.deb
user@mymachine: ~$ sudo apt -f install
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Abhängigkeiten werden korrigiert ... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
gcc-9-base:i386 geoip-database libapt-pkg5.90 libart-2.0-2 libbind9-161
libbonobo2-0 libbonobo2-common libbonoboui2-0 libbonoboui2-common
libboost-date-time1.67.0 libboost-iostreams1.67.0 libboost-locale1.67.0
libboost-thread1.67.0 libbrlapi0.6 libcodec2-0.8.1 libdns-export1104
libdns1104 libdns1109 libdvdread4 libevent-2.1-6 libevent-core-2.1-6
libevent-pthreads-2.1-6 libexiv2-14 libffi6 libffi6:i386 libfluidsynth1
libgeoip1 libgnome-2-0 libgnome-desktop-3-18 libgnome2-0 libgnome2-bin
libgnome2-common libgnomecanvas2-0 libgnomecanvas2-common libgnomeui-0
libgnomeui-common libgnomevfs2-0 libgnomevfs2-common libgsoap-2.8.75
libgspell-1-1 libgutenprint-common libgutenprint9 libhogweed4
libhogweed4:i386 libicu63 libicu63:i386 libidl-2-0 libilmbase23 libiptc0
libirs161 libisc-export1100 libisc1100 libisc1105 libisccc161 libisccfg163
libisl21 libjte1 libllvm9 liblouis17 liblwres161 libmypaint-1.3-0 libmysofa0
libnettle6 libnettle6:i386 libnfs12 liboauth0 libopenexr23 liborbit-2-0
liborbit2 liborcus-0.14-0 libpangox-1.0-0 libplymouth4 libpoppler90
libpython-stdlib libpython3.7 libpython3.7-minimal libpython3.7-stdlib
libqpdf21 libusbmuxd4 libwnck-common libwnck22 libx265-176
linux-headers-5.3.0-62 linux-headers-5.3.0-62-generic
linux-image-5.3.0-62-generic linux-modules-5.3.0-62-generic
linux-modules-extra-5.3.0-62-generic node-is-builtin-module node-node-uuid
printer-driver-gutenprint python-blinker python-certifi python-crypto
python-httplib2 python-idna python-minimal python-pyasn1
python-pyasn1-modules python-tz python-xdg python3-asn1crypto python3-nacl
python3-pymacaroons python3.7 python3.7-minimal
Verwenden Sie »sudo apt autoremove«, um sie zu entfernen.
Die folgenden zusätzlichen Pakete werden installiert:
python-is-python2
Die folgenden NEUEN Pakete werden installiert:
python-is-python2
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 220 nicht aktualisiert.
5 nicht vollständig installiert oder entfernt.
Es müssen noch 0 B von 2.496 B an Archiven heruntergeladen werden.
Nach dieser Operation werden 10,2 kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] j
(Lese Datenbank ... 376668 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../python-is-python2_2.7.17-4_all.deb ...
Entpacken von python-is-python2 (2.7.17-4) ...
dpkg: Fehler beim Bearbeiten des Archivs /var/cache/apt/archives/python-is-pytho
n2_2.7.17-4_all.deb (--unpack):
Versuch, »/usr/bin/python« zu überschreiben, welches auch in Paket python-minim
al 2.7.17-1 ist
Fehler traten auf beim Bearbeiten von:
/var/cache/apt/archives/python-is-python2_2.7.17-4_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
--- Обновление 02 ---
Как изменить кандидата на установку (2.7.12-1~16.04). Это может быть проблемой, потому что это недействительный источник?
sudo apt-cache policy python
python:
Installiert: (keine)
Installationskandidat: 2.7.12-1~16.04
Versionstabelle:
2.7.17-1 -1
100 /var/lib/dpkg/status
2.7.12-1~16.04 500
500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages