Aktualisieren von Python auf einem Ubuntu-System

Aktualisieren von Python auf einem Ubuntu-System

Ich möchte den Python-Build auf meiner Linux-Box aktualisieren, aber ich kenne dazu nur die Möglichkeit, die aktuelle Version zu deinstallieren und die neue zu installieren. Mein System ist bereits auf dem neuesten Stand (ich habe es gestern aktualisiert). Ich wollte wissen, ob es eine Möglichkeit gibt, ein bestimmtes Programm über die Befehlszeile zu aktualisieren, beispielsweise sudo apt-get update <program-name>. Ich weiß, dass dieser Befehl nicht existiert, aber ich hoffe, dass es etwas Entsprechendes gibt.

Antwort1

Wie andere bereits angemerkt haben, sudo apt-get install packageinstalliert Bare die neueste verfügbare Version und ersetzt bei Bedarf die ältere.

Bei manchen Programmen (darunter Python) ist die Situation jedoch etwas anders. Einige wichtige, sehr und inkompatibel unterschiedliche Versionen erhaltenihre eigenenPakete. Zum BeispielPython 2.6,Python 2.7,Python 3.1alle befinden sich in separaten Paketen auf Ubuntu.

Besonders wichtig ist die Tatsache, dass eine der Ubuntu-Richtlinien darin besteht, Python umfassend zum Schreiben von Endbenutzersoftware zu verwenden. Tatsächlich ist also ein ziemlich großer Teil des SystemsIstgeschrieben in Python. Im Moment läuft der Code auf Python 2.6 — diese Version ist also die Standardversion bei der Installation; und der CodeGewohnheitproblemlos auf Python 2.7 laufen – weil Inkompatibilitäten bestehen. Um das System auf Python 2.7 umzustellen, muss eine gewisse Arbeit erledigt werden, die aus der Aktualisierung und erneuten Prüfung aller Skripte besteht. Dies ist nicht einfach möglich; das heißt, Sie können Ihr System nicht einfach auf Python 2.7 „umstellen“ und die ältere Version löschen.

Aber. Wenn Sie sich nicht für die ausgefallenen Funktionen Ihres Systems interessieren und nur ein neueres Python benötigen, gibt es für Sie keine Hindernisse. Schreiben Sie sudo apt-get install python3mutig Code für 3.x Python. Denken Sie nur daran, Ihre Skripte mit der Shebang-Zeile zu starten python3und diese zu verwenden #!/usr/bin/env python3.


Aktualisiert:Ich sehe immer wieder, dass dies hochgevotet wird. Beachten Sie, dassDies ist eine 9 Jahre alte Antwort, Dinge haben sich geändert.


Was Sie als nächstes lernen sollten

Von einemSuperuserPerspektive (nicht aus der eines Python-Entwicklers) würde ich als nächstes vorschlagen, den Umgang mit folgenden Dingen zu erlernen:

  • pip/ pip3/ python3 -m pip— das ist npmfür Python. Kurzer Tipp: Versuchen Sie es pip3 install --user howdoi(es kann sein, dass Sie es apt install python3-setuptools python3-pipeinmal tun müssen, bevor es funktioniert). Dann zum Beispiel howdoi --all compile python3 ubuntu.

  • Das virtualenvTool. Es ist zu 100 % entwicklerorientiert, aber Sie werden es wahrscheinlich verwenden müssen (vielleicht unter ein paar Wrappern, wie z. B. tox), um mit den Quellpaketen anderer zu arbeiten.
    Rubys bundleroder Cabal Sandbox sind möglicherweise bekannte Analoga.

  • Das condaTool – ein völlig separates Python-Paket-Repository und -Installationsprogramm (denken Sie an einen Fork von PyPi).

Es gibtgigantischVielzahl von Tools im Python-Ökosystem im Jahr 2020. Machen Sie sich zumindest mit den Tools vertraut, pipbevor Sie tiefer einsteigen.

Grundlegende Fallstricke

Für die Mutigen, aber Unvorsichtigen gibt es ein paar klassische Fallstricke beim Versuch, ein neueres CPython manuell auf Ubuntu einzurichten.

  • /usrAllein lassen; Sie können schauen, aber nicht anfassen. Lassen Sie es bei dpkg, um sich Verwirrung zu ersparen. Sie haben das Ganze /usr/localzur Verfügung:

    sudo chown -R `whoami` /usr/local
    pip3 install --prefix=/usr/local pydf
    
  • CPython aus dem Quellcode kompilierenwird im Internet ausführlich erklärt; vergessen Sie nur nicht Ihr /usr/localPräfix. Dies ist die beste Möglichkeit, Patches und/oder Vorabversionen (diese Alpha-, RC-Builds) von CPython selbst manuell zu testen. Um erstellte Artefakte zu löschen, können Sie einfach rm -rf /usr/local/*; sudo ldconfig

  • Einen PPA findenist auch eine gute Option; denken Sie daran, dass ein PPA nur die private Version einer anderen Person ist. Suchen Sie nach glaubwürdigen PPAs mit laufendem CI/CD.

Antwort2

sudo apt-get install python 3.3.3

Dies gilt für Python (3.3.3). Für andere Versionen sollte die entsprechende Versionsnummer verwendet werden.

Antwort3

sudo apt-get install python3.6

Dadurch wird Python 3 in Linux neben Python 2 installiert. Um auf Python 3 zuzugreifen, geben Sie es ein, nachdem Sie das Terminal geöffnet haben.

python3

Antwort4

Von unserer Schwesterseite:https://askubuntu.com/questions/44122/wie-man-ein-einzelnes-paket-mit-apt-get-upgradet

Jeder dieser Befehle wird durch Installation aktualisiert. Dies sollte in vielen Fällen problemlos funktionieren, ist in einem bestimmten Fall aber möglicherweise nicht das, wonach Sie suchen.

Wenn Sie nur ein bestimmtes Paket aktualisieren möchten UND nur, wenn es bereits installiert ist, verwenden Sie den Befehl:

sudo apt-get install --only-upgrade packagename

verwandte Informationen