Ein schneller Weg, um zu sehen, welche Python-Binärdateien installiert sind, ist:ls /usr/bin | grep python
Tejas Kale
1
@ TejasKale Besser auszuführen ls /usr/bin/python*(oder ls /usr/bin/*python*wenn Sie wirklich Dateien mit pythonirgendwo im Namen wollen). Auf diese Weise wird lsdie Ausgabe immer noch für ein Terminal formatiert (und Sie erhalten mehrere Spalten und, mit dem Standardalias lsin Ubuntu, die Kolorierung).
Eliah Kagan
Antworten:
86
Mit python -V(et al.) Können Sie die Version von Python anzeigen, in die der pythonBefehl aufgelöst wird. Wenn das alles ist, was Sie brauchen, sind Sie fertig. Aber um jede Version von Python in Ihrem System zu sehen, ist etwas mehr erforderlich.
In Ubuntu können wir die Auflösung mit überprüfen readlink -f $(which python). In Standardfällen in 14.04 zeigt dies einfach auf /usr/bin/python2.7.
Wir können dies verketten, um die Version dieser Python-Version anzuzeigen:
Dies sagt uns jedoch immer noch nur, was unsere aktuelle pythonEntschließung ist. Wenn Sie sich in einem Virtualenv-System (einem gängigen Python-Stack-Management-System) befinden, wird pythonmöglicherweise eine andere Version verwendet:
Tatsache ist, dass Hunderte verschiedener Versionen von Python in Ihrem System abgesondert sein können, entweder auf Pfaden, die kontextuell hinzugefügt wurden, oder unter verschiedenen binären Namen (wie python3).
Wenn wir davon ausgehen, dass eine Python-Binärdatei immer aufgerufen wird python<something>und eine Binärdatei ist, können wir einfach das gesamte System nach Dateien durchsuchen, die diesen Kriterien entsprechen:
Es ist offensichtlich ein ziemlich abscheulicher Befehl, aber dies ist wieder eine echte Ausgabe und es scheint, dass er einen ziemlich gründlichen Job gemacht hat.
Ich bekomme folgendes und bin mir nicht sicher, was es bedeutet: readlink: extra operand '/usr/bin/python2.7'Try 'readlink --help' for more information.
Hallo_Da_Und
Ich nahm an, python -vwürde die Version zurückgeben und dies als root ausführen. es druckte eine lange Liste von Dingen aus, aber oben stand, installing zipimport hookund jetzt scheint es, als ob ich in einem Programm bin, von dem ich keine Ahnung habe, wie ich rauskomme, geschweige denn deinstallieren kann? kannst du mir hier
raushelfen
2
@Anthony Das -VFlag für die Version unterscheidet zwischen Groß- und Kleinschreibung. python -vVersetzen Sie sich in eine Python-Konsole, in der ausführliche Nachrichten aktiviert sind. Strg + D, um auszusteigen. Oder schreiben Sie exit()und drücken Sie die Eingabetaste.
Oli
@hello_there_andy Ich denke, Sie haben einen Tippfehler gemacht, als Sie den Befehl kopiert haben.
wjandrea
63
Geben Sie im Terminal Folgendes ein ( Ctrl+ Alt+ T):
python -V
oder
python --version
Sie finden eine Liste der Optionen / Parameter für viele Befehle im Terminal, indem Sie den Befehl gefolgt von --help eingeben
Beispiel:
python --help
Manuell / manpages auch für die meisten dieser CLI , die durch angezeigt werden kann man <command>(Beispiel: man python)
Von man python:
COMMAND LINE OPTIONS
-V ,--version
Prints the Python version number of the executable and exits.
Es ist auch python3auf vielen Computern installiert, so dass Sie Folgendes tun können:
python3 --version
um herauszufinden, welches Python 3.x Sie ausführen.
Es ist erwähnenswert, wie @Florian Diesch unten anspielt, dass Sie wahrscheinlich mehrere Versionen von "Python" haben. Der Standardaufruf "Python" verweist auf eine Installation von Python 2.7, obwohl Ubuntu 14.04 auch mit Python 3.0 geliefert wird.
Wenn Sie pythonim Terminal laufen , wird die Ausgabe folgendermaßen aussehen:
Python2.7.6(default,Mar222014,22:59:56)[GCC 4.8.2] on linux2
Type"help","copyright","credits"or"license"for more information.>>>
Siehe die erste Zeile - Python 2.7.6.
Laufen Sie auch python3. Ich habe 3.4.1
Python3.4.1(default,Jul312014,12:46:17)[GCC 4.8.2] on linux
Type"help","copyright","credits"or"license"for more information.>>>
Dies zeigt Ihnen jedoch nicht alle. Wenn Sie 2 oder mehr Python 3.Xx-Versionen haben, wird nur die neueste Version angezeigt.
Standardmäßig haben Sie am 14.04 2.7.6 und 3.4.0. Wie Sie sehen, habe ich auf 3.4.1 aktualisiert. Ich weiß, dass ich noch 3.4.0 habe, denn wenn ich zu /usr/binsehe python3.4, und wenn ich /usr/bin/python3.4in der Befehlszeile laufe , bekomme ich 3.4.0 und beim Laufen bekomme /usr/local/bin/python3.4ich 3.4.1
"Wenn Sie 2 oder mehr Python 3.Xx-Versionen haben, sehen Sie nur die neueste." Wird nicht stattdessen angezeigt, welches Verzeichnis zuerst in der PATHUmgebungsvariablen aufgeführt ist? Warum sollte beim Ausführen python3immer die höchste (Unter-) Version von python3 ausgeführt werden, die installiert ist? Oder wird in der Praxis nicht die Version /usr/bin/python3angezeigt, auf die der symbolische Link verweist, die nicht die neueste sein muss?
Eliah Kagan
@Eliah Keine Ahnung, aber einige Programme nehmen es von dort und andere von dem /usr/bineinen ...
Nein, ein Benutzer sagte, dass Leerlauf mit 3.4.0 und Befehlszeile mit 3.4.1 lief ...
Tim
5
Sie können die Python-Version auch über den Code selbst mit dem platformModul aus der Standardbibliothek überprüfen . Es gibt zwei Funktionen: platform.python_version()(gibt einen String zurück) und platform.python_version_tuple()(gibt ein Tupel zurück). Skript:
Ich nahm an, python -vwürde die Version zurückgeben und dies als root ausführen. es druckte eine lange Liste von Dingen aus, aber oben stand, installing zipimport hookund jetzt scheint es, als ob ich in einem Programm bin, von dem ich keine Ahnung habe, wie ich rauskomme, geschweige denn deinstallieren kann? kannst du mir hier
ls /usr/bin | grep python
ls /usr/bin/python*
(oderls /usr/bin/*python*
wenn Sie wirklich Dateien mitpython
irgendwo im Namen wollen). Auf diese Weise wirdls
die Ausgabe immer noch für ein Terminal formatiert (und Sie erhalten mehrere Spalten und, mit dem Standardaliasls
in Ubuntu, die Kolorierung).Antworten:
Mit
python -V
(et al.) Können Sie die Version von Python anzeigen, in die derpython
Befehl aufgelöst wird. Wenn das alles ist, was Sie brauchen, sind Sie fertig. Aber um jede Version von Python in Ihrem System zu sehen, ist etwas mehr erforderlich.In Ubuntu können wir die Auflösung mit überprüfen
readlink -f $(which python)
. In Standardfällen in 14.04 zeigt dies einfach auf/usr/bin/python2.7
.Wir können dies verketten, um die Version dieser Python-Version anzuzeigen:
Dies sagt uns jedoch immer noch nur, was unsere aktuelle
python
Entschließung ist. Wenn Sie sich in einem Virtualenv-System (einem gängigen Python-Stack-Management-System) befinden, wirdpython
möglicherweise eine andere Version verwendet:Das ist echte Leistung.
Tatsache ist, dass Hunderte verschiedener Versionen von Python in Ihrem System abgesondert sein können, entweder auf Pfaden, die kontextuell hinzugefügt wurden, oder unter verschiedenen binären Namen (wie
python3
).Wenn wir davon ausgehen, dass eine Python-Binärdatei immer aufgerufen wird
python<something>
und eine Binärdatei ist, können wir einfach das gesamte System nach Dateien durchsuchen, die diesen Kriterien entsprechen:Es ist offensichtlich ein ziemlich abscheulicher Befehl, aber dies ist wieder eine echte Ausgabe und es scheint, dass er einen ziemlich gründlichen Job gemacht hat.
quelle
readlink: extra operand '/usr/bin/python2.7'
Try 'readlink --help' for more information.
python -v
würde die Version zurückgeben und dies als root ausführen. es druckte eine lange Liste von Dingen aus, aber oben stand,installing zipimport hook
und jetzt scheint es, als ob ich in einem Programm bin, von dem ich keine Ahnung habe, wie ich rauskomme, geschweige denn deinstallieren kann? kannst du mir hier-V
Flag für die Version unterscheidet zwischen Groß- und Kleinschreibung.python -v
Versetzen Sie sich in eine Python-Konsole, in der ausführliche Nachrichten aktiviert sind. Strg + D, um auszusteigen. Oder schreiben Sieexit()
und drücken Sie die Eingabetaste.Geben Sie im Terminal Folgendes ein ( Ctrl+ Alt+ T):
oder
Sie finden eine Liste der Optionen / Parameter für viele Befehle im Terminal, indem Sie den Befehl gefolgt von --help eingeben
Beispiel:
Manuell / manpages auch für die meisten dieser CLI , die durch angezeigt werden kann
man <command>
(Beispiel:man python
)Von
man python
:Es ist auch
python3
auf vielen Computern installiert, so dass Sie Folgendes tun können:um herauszufinden, welches Python 3.x Sie ausführen.
quelle
und
zeige die Version von Python 2.x,
die installierte Version von Python 3.x
quelle
Wenn Sie
python
im Terminal laufen , wird die Ausgabe folgendermaßen aussehen:Siehe die erste Zeile -
Python 2.7.6
.Laufen Sie auch
python3
. Ich habe 3.4.1Dies zeigt Ihnen jedoch nicht alle. Wenn Sie 2 oder mehr Python 3.Xx-Versionen haben, wird nur die neueste Version angezeigt.
Standardmäßig haben Sie am 14.04 2.7.6 und 3.4.0. Wie Sie sehen, habe ich auf 3.4.1 aktualisiert. Ich weiß, dass ich noch 3.4.0 habe, denn wenn ich zu
/usr/bin
sehepython3.4
, und wenn ich/usr/bin/python3.4
in der Befehlszeile laufe , bekomme ich 3.4.0 und beim Laufen bekomme/usr/local/bin/python3.4
ich 3.4.1Meine Pronomen sind Er / Ihn
quelle
PATH
Umgebungsvariablen aufgeführt ist? Warum sollte beim Ausführenpython3
immer die höchste (Unter-) Version von python3 ausgeführt werden, die installiert ist? Oder wird in der Praxis nicht die Version/usr/bin/python3
angezeigt, auf die der symbolische Link verweist, die nicht die neueste sein muss?/usr/bin
einen ...env
in Hashbang-Zeilen , um das jeweils interpretierte System zu finden) -preferred in gemeinsam in Python - Skripten ). Ich bin mir nicht sicher, ob Sie das mit Unterschieden zwischen einigen Programmen und anderen meinen.Sie können die Python-Version auch über den Code selbst mit dem
platform
Modul aus der Standardbibliothek überprüfen . Es gibt zwei Funktionen:platform.python_version()
(gibt einen String zurück) undplatform.python_version_tuple()
(gibt ein Tupel zurück). Skript:Laufen:
quelle
sys.version
oder zu verwendensys.version_info
.Wenn Sie alle Python-Versionen als Befehle anzeigen möchten, führen Sie Folgendes aus
compgen -c python
. Z.B:Wenn Sie die Version von jedem der oben genannten erhalten möchten, ist hier ein Einzeiler:
Aktualisieren:
python*-config
Mir ist aufgefallen, dass
python*-config
Programme das--version
Flag nicht unterstützen . Zum Beispiel:So könnten Sie sie herausfiltern
grep -v
, zum Beispiel mit:quelle
Öffnen Sie einfach das Terminal und gehen Sie wie folgt vor:
Schreiben
So überprüfen Sie Ihre 2.x-Version In meinem Fall wird Folgendes angezeigt:
Für das 3.x schreiben Sie:
In meinem Fall sieht es so aus:
In beiden Fällen schreiben Sie, um die Python-Shell zu verlassen:
quelle
Im Shell-Terminal
$ which -a python
listet alle deinepython
.$ which -a python2.7
listet alle deinepython2.7
.$ /usr/bin/python -V
gibt Auskunft über die Version von/usr/bin/python
.Python-Skript einchecken
Hier ist eine Illustration in der Ipython-Shell:
quelle
python -v
würde die Version zurückgeben und dies als root ausführen. es druckte eine lange Liste von Dingen aus, aber oben stand,installing zipimport hook
und jetzt scheint es, als ob ich in einem Programm bin, von dem ich keine Ahnung habe, wie ich rauskomme, geschweige denn deinstallieren kann? kannst du mir hier