Da dies python3
die Standard-Python-Version in Ubuntu 18.04 ist und python2
bei einer neuen Ubuntu 18.04-Installation nicht standardmäßig ausgeliefert wird, wie kann ich python3
nach einem Upgrade auf Ubuntu 18.04 (ab 16.04) die Standardeinstellung festlegen? Derzeit ist nach dem Upgrade python2
immer noch Standard (z. B. python
Befehl verweist auf python2
usw.). Das python
Löschen des Pakets führt jedoch dazu, dass zu viele Pakete entfernt werden, die darauf angewiesen sind. Daher ist dies hier keine Option.
Im Idealfall möchte ich die python2
Abhängigkeit so weit wie möglich entfernen . Möglicherweise könnte der Upgrade-Prozess so gestaltet sein, dass alle Pakete überprüft werden, ob sie noch wirklich auf python2
Abhängigkeiten angewiesen sind, und dadurch alle python2
Abhängigkeiten erfasst werden, die durch eine äquivalente python3
Abhängigkeit ersetzt werden könnten (die dann durch das Upgrade aufgelöst wird).
Antworten:
Dieser Beitrag ist etwas alt, aber ich glaube, es gibt eine bessere Alternative: Geben Sie ein
update-alternatives
. Im Folgenden wird Ihr/usr/bin/python
Standardwert auf 2,7 festgelegt, aber 3.6 ist verfügbar, wenn Sie möchten:Die höchste Priorität wird hier als "automatische" Auswahl verwendet,
/usr/bin/python
aber Sie können einfach durch Ausführen wechselnsudo update-alternatives --config python
.quelle
python
. Ich habesudo update-alternatives --remove-all python
alle Pythons entfernt und dann die einzige Python hinzugefügt, die ich verwenden möchtesudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 10
. Gut zu wissen ist auchsudo update-alternatives --list python
zu sehen, was was ist.sudo apt install python3-pip
undsudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10
Um python2 vollständig zu entfernen, müssen Sie das
python2.x-minimal
Paket löschen, das von ausgeführt wirdErsetzen Sie x durch die genaue Version von Python 2 auf Ihrem System. Überprüfen Sie jedoch, welche anderen Pakete entfernt wurden, da Sie möglicherweise Pakete mitgeführt haben, die auch nach dem Upgrade noch von Python 2 abhängen. Diese Pakete werden ebenfalls deinstalliert und funktionieren nicht mehr.
Es gibt keinen "Standard" -Python-Interpreter, da dies nur davon abhängt, auf welche tatsächliche Datei verwiesen wird. Um
/usr/bin/python
dies in Python zu ändern, verwenden Sie denln
Befehl, um den Link zu aktualisieren. Nehmen wir beispielsweise an, Sie möchten, dass er auf Python 3.6 verweistWenn Sie dies nur für Ihren Benutzer wünschen, können Sie es alternativ als Alias in Ihrem festlegen.
.bashrc
Öffnen~/.bashrc
Sie dazu den Editor Ihrer Wahl und fügen Sie die folgende Zeile hinzuquelle
python2
Abhängigkeit unter Verwendung der Standardeinstellung ausführtpython3
Abhängigkeiten / Pakete.Auf meinem 16.04
/usr/bin/python
ist nur ein Link zu,/usr/bin/python2.7
also gehe ich davon aus, dass Sie diesen Link nur ändern müssten, um darauf zu verweisen/usr/bin/python3.x
(mit angemessenemx
natürlich).quelle
/usr/bin/python
auf/usr/bin/python3
, das ist ein Link auf die neueste python3 Version installiert. Oder nur ein Alias oder eine Funktion in Ihrem~/.bashrc
.python2
in meinem System loswerden (wie es der Standardfall bei der Installation eines neuen Ubuntu 18.04 ist, wopython3
Standard ist undpython2
nicht standardmäßig installiert ist)python2
. Es scheint, dass viele andere Pakete davon abhängen. Haben Sie Nachteile, wenn Siepython2
installiert bleiben ?python2
, wenn es installiert bleibt , wenn es wirklich notwendig ist, aber ich möchte es eindeutigpython3
als Standard festlegen , dh daspython2
so oft wie möglich entfernen (und eine Neuinstallation von Ubuntu 18.04 zeigt, dass dies möglich ist).