Aktualisieren von Python auf Ubuntu-System

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

Author: ulidtko, 2011-02-04

10 answers

Wie andere bereits bemerkt haben, installiert bare sudo apt-get install package die neueste verfügbare Version und ersetzt bei Bedarf die ältere.

Aber mit etwas Software (darunter Python) ist die Situation etwas anders. Einige große, sehr - und inkompatibel-verschiedene Versionen erhalten ihre eigenen Pakete. Zum Beispiel Python 2.6, Python 2.7, Python 3.1 Alle leben in separaten Paketen auf Ubuntu.

Von besonderer Bedeutung ist die Tatsache, dass einer von Ubuntu dies ist die umfassende Verwendung von Python zum Schreiben von Endbenutzersoftware. Tatsächlich ist ein ziemlich großer Teil des Systems in Python geschrieben. Im Moment läuft der Code auf Python 2.6-also ist diese Version der Standard bei der Installation; und der Code wird nicht einfach auf Python 2.7 laufen-weil Inkompatibilitäten existieren. Um das System auf Python 2.7 umzustellen, muss eine Arbeit geleistet werden, die darin besteht, alle Skripte zu aktualisieren und erneut zu testen. Dies kann nicht leicht gemacht werden; 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 ausgefallene Zahnräder Ihres Systems interessieren und nur neueres Python benötigen, sehen Sie keine Hindernisse. Gehen Sie und sudo apt-get install python3 und Code für 3.x Python mutig; Denken Sie daran, Ihre Skripte mit python3 zu starten und die Shebang-Zeile #!/usr/bin/env python3 zu verwenden.


Upd: Ich sehe das immer wieder; Beachten Sie, dass Dies ist eine 9-jährige Antwort, die Dinge haben sich geändert.


Was zu lernen nächste

Aus einer Superuser Perspektive (nicht Python developer ' s), die nächsten Dinge, die ich vorschlagen würde, lernen zu verwenden:

  • pip/pip3/python3 -m pip - dies ist das npm für Python. Tipp: Versuchen Sie es mit pip3 install --user howdoi (möglicherweise muss apt install python3-setuptools python3-pip einmal ausgeführt werden, bevor dies funktioniert). Dann zum Beispiel howdoi --all compile python3 ubuntu.

  • Das Werkzeug virtualenv. Es ist 100% entwicklerorientiert, aber Sie müssen es wahrscheinlich verwenden (möglicherweise unter einigen Wrappern wie tox), um mit der Quelle von Personen zu arbeiten Tourangebote.
    Rubys bundler oder Cabal Sandbox können vertraute Analoga sein.

  • Das Tool conda - ein völlig separates Python-Paket-Repository und Installationsprogramm (denken Sie an: Fork of PyPI).

Es gibt humongous vielzahl von Tools im Python-Ökosystem im Jahr 2020. Machen Sie es sich zumindest mit pip bequem, bevor Sie tiefer gehen.

Grundlegende Fallstricke

Für die Tapferen, aber vorsichtig, ein paar klassische Fallstricke, wenn der Versuch, manuell einen neueren CPython auf Ubuntu einzurichten.

  • Lass /usr in Ruhe; du kannst schauen, aber du berührst nicht. Überlasse es dpkg, erspare dir etwas Verwirrung. Sie haben das Ganze /usr/local zur Verfügung:

    sudo chown -R `whoami` /usr/local
    pip3 install --prefix=/usr/local pydf
    
  • Das Kompilieren von CPython aus der Quelle ist im Web gut erklärt; Vergessen Sie einfach nicht Ihr Präfix /usr/local. Dies ist der beste Weg, um Patches und/oder Pre-Releases (diese Alpha -, RC - Builds) von CPython selbst manuell zu testen. Zu wipe gebaut Artefakte, können Sie einfach rm -rf /usr/local/*; sudo ldconfig.

  • Das Finden eines PPA ist auch eine gute Option; Denken Sie daran, dass ein PPA nur der private Build eines anderen ist. Suchen Sie nach glaubwürdigen PPAs, auf denen CI / CD ausgeführt wird.

 77
Author: ulidtko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-02-05 15:58:08
sudo apt-get install python 3.3.3

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

 19
Author: Mrinal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-04-19 02:52:49
sudo apt-get install python3.6

Dies installiert Python 3 unter Linux neben Python 2.To greifen Sie auf Python 3 zu, nachdem Sie das Terminal geöffnet haben.

python3
 10
Author: G-Ox7cd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-01-16 02:47:42

Sie sind nah dran, an einen Befehl wie sudo apt-get update zu denken (der ein tatsächlicher Befehl ist, aber nicht das tut, was Sie wollen.)

Um Python und alles andere, was Sie installiert haben, zu aktualisieren, führen Sie einfach den folgenden Befehl aus:

sudo apt-get upgrade
 5
Author: Wuffers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-02-04 23:29:12

Von unserer Schwesterseite: https://askubuntu.com/questions/44122/how-to-upgrade-a-single-package-using-apt-get

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

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

sudo apt-get install --only-upgrade packagename
 3
Author: music2myear,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-04-13 12:23:00

Falls Sie nur eine kleinere Version des Python-Pakets wie 2.7.11+ t0 2.7.12 aktualisieren möchten, sollte do sudo apt-get install python2.7 für Sie tun

 3
Author: Senthil Kumar Vaithiyanathan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-01-01 05:46:33

Pyenv kann eine gute Option für Sie sein: https://github.com/yyuu/pyenv


In Bezug auf @ulidtkos Antwort kann eine mögliche Alternative zum Ersetzen des Systems Python insgesamt darin bestehen, eine isolierte Umgebung mit der gewünschten Python-Version zu verwenden. Dies ähnelt einer "virtuellen Umgebung", jedoch für Python selbst. Ich habe dies in der Vergangenheit für Legacy-Projekte verwendet, die auf Python 2.6 ausgeführt werden, sowie beim Upgrade von der Legacy-Version von Python auf Python3.

 2
Author: nicefinly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-20 10:17:14
apt-get install python

Ich glaube, das sollte funktionieren. Sie müssen 'Python' so ändern, dass es offensichtlich mit dem entsprechenden Paketnamen in Ihrem Repository übereinstimmt.

 1
Author: mbreedlove,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-02-05 00:55:16

Wie wir alle wissen, wird Python mit der 3.5-Version geliefert. Es ist also sehr einfach, Python 2.7(das standardmäßig in Ubuntu 16.04 vorhanden ist) auf Python 3.5 zu aktualisieren.

Folgen Sie den folgenden Schritten:

  1. Öffnen Sie das terminal.
  2. Werden Sie Root-Benutzer mit dem Befehl sudo.
  3. Verwenden Sie den folgenden Code, um Python 2.7 auf 3.5 zu aktualisieren

    Sudo apt-get install python3. 5

  4. Sie werden um Ihre Erlaubnis gebeten und geben dann die Option Y.

  5. Warten, bis schließen Sie den Vorgang ab.
  6. Löschen Sie den Bildschirm mit dem Befehl clear
  7. Überprüfen Sie die Python-Version mit dem folgenden Befehl.

    Python -version

 1
Author: Big Data Guy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-11-04 11:29:46

In dem einzigen Fall, in dem Sie eine LTS-Version ausführen, ist Ihr Python möglicherweise um eine Nebenversion zurückgeblieben, z. B. 2.7.5 anstelle von 2.7.10.

Eine Möglichkeit wäre, das System zu aktualisieren :

  • setze prompt=normal in /etc/update-manager/release-upgrades
  • aktualisieren Sie das system
    • In der Befehlszeile können Sie sudo do-release-upgrade eingeben, damit der Upgrade-Manager seine Aufgabe erfüllt, auf die neueste (=Nicht-LTS) Version zu aktualisieren.
    • die GUI-Lösung verwendet das Update Manager -

Wie immer beim Upgrade, werfen Sie einen Blick auf die Release Notes, da das Upgrade Ihr System in einigen Fällen brechen könnte, siehe @Ginos Kommentar.

 0
Author: serv-inc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-04-13 12:22:56