ubuntuusers.de

Upgrade klemmt wegen Verknüpfung von python

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

Spannscheibe

Anmeldungsdatum:
8. Oktober 2016

Beiträge: Zähle...

Hallo Miteinander!

Mein Laptop mit Ubuntu 14.04 will nicht auf Ubuntu 16.04.1 upgraden und bringt stattdessen die Fehlermeldung:

>Ihre Python-Installation ist beschädigt. Bitte korrigieren Sie die Verknüpfung »/usr/bin/python«.<

ls -la liefert dort:

lrwxrwxrwx  1 root   root          24 Jun 14 20:50 python -> /etc/alternatives/python*

Ich glaub, das liegt an gewissen Bemühungen, mit der Eingabe von "python" gleich Python3 zu starten anstatt Python2. Das musste recht bald wieder rückgängig gemacht werden, weil die Aktualisierung auch gleich nicht mehr aktualisieren wollte. Aktualisieren funktioniert seither wieder, nur das Upgrade halt nicht.

Ausgeführt wurden die Änderungen jeweils von Leuten, die weit mehr Ahnung vom System haben als ich.

Vermutlich ist die Lösung nicht besonders kompliziert. Wie kann ich das beheben? Wer kann helfen?

Ausgabe von uname-a: Linux kelvin 3.13.0-98-generic #145-Ubuntu SMP Sat Oct 8 20:13:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Gruß und Dank im Voraus, Spannscheibe

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11256

Wohnort: München

Was liefert denn:

update-alternatives --list python

Spannscheibe

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2016

Beiträge: Zähle...

Hallo Seahawk1986,

danke für die blitzschnelle Rückfrage!

Hier die Antwort:

update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3

Da gucke ich doch gleich, ob ein 'python3' in '/usr/bin/' existiert:

Michi@Rechner:/usr/bin$ ll pyth*
lrwxrwxrwx 1 root root      24 Jun 14 20:50 python -> /etc/alternatives/python*
lrwxrwxrwx 1 root root       9 Nov 23  2014 python2 -> python2.7*
-rwxr-xr-x 1 root root 3345416 Jun 22  2015 python2.7*
lrwxrwxrwx 1 root root      33 Jun 22  2015 python2.7-config -> x86_64-linux-gnu-python2.7-config*
lrwxrwxrwx 1 root root      16 Dez 21  2013 python2-config -> python2.7-config*
lrwxrwxrwx 1 root root       9 Nov 23  2014 python3 -> python3.4*
-rwxr-xr-x 2 root root 3693512 Sep 14 15:56 python3.4*
-rwxr-xr-x 2 root root 3693512 Sep 14 15:56 python3.4m*
lrwxrwxrwx 1 root root      10 Nov 23  2014 python3m -> python3.4m*
lrwxrwxrwx 1 root root      16 Dez 21  2013 python-config -> python2.7-config*

Meine (bescheidene) Vermutung: Der Link zu

etc/alternatives/python

sollte gelöscht werden. Vielleicht muss auch noch etwas auf

etc/alternatives/

gelöscht werden.

Eigentlich sollte es dann funktionieren. Vielleicht sollte aber ein Link

python -> python2.7

eingerichtet werden, damit ist vermutlich der Ursprungszustand wieder hergestellt. Schließlich startete auf 'python' ursprünglich automatisch Version 2.7.

Vielen Dank im Voraus, Spannscheibe

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11256

Wohnort: München

Mit diesem Befehl solltest du das Alternativen-System nutzen können, um /usr/bin/python effektiv auf Python 2.7 zeigen zu lassen (mit dem Umweg über /etc/alternatives/python*):

sudo update-alternatives --config python

Spannscheibe

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2016

Beiträge: 8

Hallo Seahawk186,

also das System antwortet folgendermaßen:

sudo update-alternatives --config python
[sudo] password for Michi: 
Es gibt 2 Auswahlmöglichkeiten für die Alternative python (welche /usr/bin/python bereitstellen).

  Auswahl      Pfad                Priorität Status
------------------------------------------------------------
  0            /usr/bin/python3     2         Auto-Modus
  1            /usr/bin/python2.7   1         manueller Modus
  2            /usr/bin/python3     2         manueller Modus

Drücken Sie die Eingabetaste, um die aktuelle Wahl[*] beizubehalten,
oder geben Sie die Auswahlnummer ein: 

Vielleicht stört er sich an der Priorität?

Es fällt mir auf, dass das System gar keine bevorzugte Alternative anzeigt: [*] Es ist kein Stern in seiner Antwort.

Wenn es sich nicht an der Priorität stört: Was für ein Problem gibt es denn dann?

Was kann ich ändern?

Soll ich den Link

lrwxrwxrwx 1 root root      24 Jun 14 20:50 python -> /etc/alternatives/python*

löschen? Wenn ja: Wie? Mit rm?

Grüße, Spannscheibe

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11256

Wohnort: München

Ich würde da erst mal mit "1" auf python2.7 unstellen und schauen, ob er beim Upgrade dann immer noch meckert.

Spannscheibe

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2016

Beiträge: 8

Hallo Seahawk,

ich hab umgestellt und gleich auch noch den Link entfernt, aber es erscheint nach wie vor immer noch dieselbe Fehlermeldung:

Ihre Python-Installation ist beschädigt. Bitte korrigieren Sie die Verknüpfung »/usr/bin/python«.<

Der gelöschte Link:

lrwxrwxrwx 1 root root 24 Jun 14 20:50 python → /etc/alternatives/python*

Wahrscheinlich muss ich noch etwas auf etc/alternatives umstellen????

Brauche hier wirklich Hilfe.

Ahhh, jetzt ergibt übrigens die Eingabe von 'python' folgendes Ergebnis:

Michi@Rechner:~$ python -V
Die Anwendung »python« ist momentan nicht installiert. Sie können sie durch folgende Eingabe installieren:
sudo apt-get install python-minimal

Und in dem Verzeichnis sieht es so aus:

Michi@Rechner:/usr/bin$ ll pyth*
lrwxrwxrwx 1 root root       9 Nov 23  2014 python2 -> python2.7*
-rwxr-xr-x 1 root root 3345416 Jun 22  2015 python2.7*
lrwxrwxrwx 1 root root      33 Jun 22  2015 python2.7-config -> x86_64-linux-gnu-python2.7-config*
lrwxrwxrwx 1 root root      16 Dez 21  2013 python2-config -> python2.7-config*
lrwxrwxrwx 1 root root       9 Nov 23  2014 python3 -> python3.4*
-rwxr-xr-x 2 root root 3693512 Sep 14 15:56 python3.4*
-rwxr-xr-x 2 root root 3693512 Sep 14 15:56 python3.4m*
lrwxrwxrwx 1 root root      10 Nov 23  2014 python3m -> python3.4m*
lrwxrwxrwx 1 root root      16 Dez 21  2013 python-config -> python2.7-config*

Bestimmt muss ich nur einen Link anlegen á la python → python2.7

Wie macht man das?

Gruß, Spannscheibe

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11256

Wohnort: München

Spannscheibe schrieb:

ich hab umgestellt

Aber nicht probiert, ob es damit geht, oder?

und gleich auch noch den Link entfernt

Vergiss nicht das Alternativen-System aufzuräumen:

sudo update-alternatives --remove python /usr/bin/python3 
sudo update-alternatives --remove python /usr/bin/python2.7

Bestimmt muss ich nur einen Link anlegen á la python → python2.7

Wie macht man das?

Nachdem du die Alternativen aufgräumt hast so:

cd /usr/bin
sudo ln -s python2.7 python

Spannscheibe

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2016

Beiträge: 8

ich hab umgestellt

Aber nicht probiert, ob es damit geht, oder?

Hallo Seahawk und pardon: Doch ich hab es ausprobiert - upgraden geht nicht. Wie ich geschrieben habe, erhalte ich immer noch die gleiche Fehlermeldung, siehe mein Post von 18. Oktober 2016 08:01

Als Ergebnis funktioniert der Aufruf

python

gar nicht mehr, wie geschildert. Es ist ja auch gar kein 'python' mehr im Verzeichnis

/usr/bin/

.

Also räume ich auf und lösche zuerst p3, woraufhin er über p2.7 nörgelt:

Michi@Rechner:/usr/bin$ sudo update-alternatives --remove python /usr/bin/python3 
[sudo] password for Michi: 
update-alternatives: Warnung: Neuinstallation der Alternative /usr/bin/python2.7 ist erzwungen, weil Linkgruppe python defekt ist

Was soll das denn bedeuten?

Das Löschen von p2.7 verlief folgendermaßen:

Michi@Rechner:/usr/bin$ sudo update-alternatives --remove python /usr/bin/python2.7update-alternatives: Manuell ausgewählte Alternative wird entfernt - Umschaltung von python in Auto-Modus
cd /usr/bin
sudo ln -s python2.7 python

Daraufhin ergab sich Folgendes:

Michi@Rechner:/usr/bin$ python -V
Python 2.7.6

Wahrscheinlich kann es jetzt losgehen… Gruß und Dank, Spannscheibe

Spannscheibe

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2016

Beiträge: 8

Hallo!

Hat alles funktioniert und 16 läuft!!

Alles Gute und vielen Dank!

Antworten |