Python2.7 funktioniert in 18.04 nicht, Python3 ist installiert

10

Ich habe Ubuntu 18.04 in einer virtuellen Box installiert und wenn ich Python -v versuche, heißt es, dass Sie Python3 installiert haben. Ich möchte Python 3 entfernen oder deaktivieren, damit Python2.7 verwendet und einige meiner Skripte ausgeführt werden können.

Rahul
quelle
@karel: danke für die info. Ich habe erneut mit einem Live-System nachgesehen und festgestellt, dass es auch in 18.10 nicht installiert ist.
Takkat
@ Karel Danke. Enge Abstimmung zurückgezogen und vorherige Kommentare redigiert :) +1 auch für Ihre Antwort :)
WinEunuuchs2Unix
4
Zu Ihrer Information: Python 2 wird in etwas mehr als einem Jahr die Upstream-Unterstützung verlieren. Daher sollten Sie planen, Python entweder zu verzweigen oder bald auf Python 3 zu migrieren.
Kevin
@Rahul Verwenden Sie python2oder python3statt nur python, weil in einigen Systemen (z. B. Arch) pythonohne Version Python 3 standardmäßig ausgeführt wird (ich denke, Ubuntu wird das gleiche irgendwann tun). Wenn Sie mit Kevin einverstanden sind, sollten Sie auf 3.x migrieren (ab Ende 2018 gibt es nur noch wenige 2.x-Bibliotheken)
trolley813
Ein lustiger Teil hier ist, dass einige ältere Ubuntu 18.04 noch Python-Symlinks zu Python2.7 haben (nach der Installation), aber jetzt erstellt Ubuntu 18.04.02 diesen Symlink nicht. Das klingt einfach komisch, wenn man merkt, dass 18.04 LTS ist ...
Ikar Pohorský

Antworten:

19

Python 2 wird in Neuinstallationen von Ubuntu 18.04 und höher nicht mehr standardmäßig installiert. Entfernen Sie python3 nicht aus Ubuntu 18.04 und höher, da sonst Ubuntu Software, das Terminal und viele andere standardmäßig installierte Apps nicht mehr funktionieren. Wenn Sie Python 3 entfernt haben und jetzt Ubuntu Software, Terminal und andere Anwendungen nicht funktionieren, befolgen Sie die Anweisungen in dieser Antwort, um es neu zu installieren und alle Anwendungen wieder funktionsfähig zu machen.

Um Python 2.7 in Ubuntu 18.04 und höher zu installieren, öffnen Sie das Terminal und geben Sie Folgendes ein:

sudo apt install python2.7  

Führen Sie den folgenden Befehl aus, um den Python 2.7-Interpreter zu starten:

python2.7

Führen Sie den folgenden Befehl aus, um den Python 3-Interpreter zu starten:

python3  

In beiden Fällen zeigt der Python-Interpreter beim Start eine Versionsmeldung an, die angibt, welche Version von Python Sie ausführen.

Karel
quelle
7

In Ubuntu 18.04 LTS sind standardmäßig sowohl Python 2.7 als auch Python 3 installiert:

Geben Sie hier die Bildbeschreibung ein
Screenshot von der Live-Sitzung

In 18.10. und in 19.04 wird es nicht in einer Live-Sitzung installiert:

Geben Sie hier die Bildbeschreibung ein

Sie müssen Python 2.7 manuell installieren, bevor Sie es verwenden können.

sudo apt install python

Anwendungen, die davon abhängen, installieren es als Abhängigkeit.

Takkat
quelle
5

1) Um die Python 2-Version unter Ubuntu 18.04 zu installieren, öffnen Sie das Terminal und geben Sie Folgendes ein:

sudo apt install python-minimal

oder

sudo apt install python2.7

Version prüfen:

python --version


2) Wenn Python 3+ noch eine aktualisierte Liste von Python-Alternativen zum Ausführen eines Wechsels zwischen einer beliebigen Python-Version enthält, ist Folgendes auszuführen:

update-alternatives --config python

Beispiel:

There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.5   2         auto mode
  1            /usr/bin/python2.7   1         manual mode
  2            /usr/bin/python3.5   2         manual mode

Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in manual mode

und wählen Sie eine geeignete Version mit der oben gezeigten Auswahl-Ganzzahl aus.


3) Wenn Sie sehen: Update-Alternativen: Fehler: Keine Alternativen für Python . Lauf:

ls /usr/bin/python*

Beispielausgabe:

/usr/bin/python  /usr/bin/python2  /usr/bin/python2.7  /usr/bin/python3  /usr/bin/python3.5

Aktualisieren Sie als Nächstes die Liste der Python-Alternativen für jede Version, die Sie mit Priorität 1 und 2 verwenden möchten:

update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2

Führen Sie dann erneut aus update-alternatives --config pythonund wählen Sie eine geeignete Version aus.

reifen
quelle
Könnten Sie bitte klarstellen, was genau die letzten beiden Befehle hier tun? Eine weitere Frage ist, dass ich in meinem Skript von #! / Usr / bin / python in #! / Usr / bin / python2.7 geändert habe. Ist es möglich, den env-Pfad für Python2.7 in / usr / bin / python zu ändern
Rahul
@Rahul Wenn Sie pythonals Befehl auf dem Terminal verwenden, werden die Alternativen / Aliase berücksichtigt. Da Sie jedoch in Skripten der absolute Pfad von Python sind, müssen Sie den Pfad der Python-Version verwenden, die Sie verwenden möchten.
Kulfy
@ Rahul, sorry behoben. In diesen Befehlen legen Sie die Priorität in den letzten numerischen Parametern (2 und 1) fest.
reifen
Ich kann Ihre Antwort nicht genug bewerten. Legende!
Kris Bonev
3

Sie müssen python3Ihr Ubuntu nicht entfernen oder deaktivieren .

Wenn Sie nur Python benötigen, um kleine Skripte auszuführen, können Sie Python 2 einfach als Antwort von @ karel installieren.

Wenn Sie anfangen, Python zu lernen, empfehle ich Ihnen, eine virtuelle Umgebung oder eine Conda zu verwenden

thangdc94
quelle
Ja, ich habe es jetzt bekommen, Python2.7 installiert und überprüft, wo Python2.7 ist und ein Skript mit dieser Umgebung erstellt. Danke
Rahul
Normalerweise installiere ich kein Paket von conda, sondern ein Paket von pip. Ich verwende nur conda, um eine virtuelle Umgebung mit globalem Zugriff zu erstellen.
thangdc94
2

Python 3 muss nicht deaktiviert werden. Sie können Python 2.7 mit dem Befehl python2 filename.py ausführen. Sie können die Python 2-Version mit python2 --version überprüfen

Samihan Jawalkar
quelle