
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 package
installiert 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 python3
mutig Code für 3.x Python. Denken Sie nur daran, Ihre Skripte mit der Shebang-Zeile zu starten python3
und 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 istnpm
für Python. Kurzer Tipp: Versuchen Sie espip3 install --user howdoi
(es kann sein, dass Sie esapt install python3-setuptools python3-pip
einmal tun müssen, bevor es funktioniert). Dann zum Beispielhowdoi --all compile python3 ubuntu
.Das
virtualenv
Tool. 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.
Rubysbundler
oder Cabal Sandbox sind möglicherweise bekannte Analoga.Das
conda
Tool – 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, pip
bevor 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.
/usr
Allein lassen; Sie können schauen, aber nicht anfassen. Lassen Sie es beidpkg
, um sich Verwirrung zu ersparen. Sie haben das Ganze/usr/local
zur 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/local
Prä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 einfachrm -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