1492 Stimmen

Wie kann ich überprüfen, welche Python-Version mein Skript ausführt?

Wie kann ich überprüfen, welche Version des Python-Interpreters mein Skript interpretiert?

6 Stimmen

Im aktuellen Thread geht es um die Überprüfung der Python-Version eines Python-Programms/Skripts. Falls Sie die Version des auf Ihrem Rechner installierten Python-Interpreters über die Kommandozeile überprüfen wollen, lesen Sie bitte den folgenden Beitrag - Welche Version von Python habe ich installiert?

12 Stimmen

Hier ist ein lustiger Weg, Python 3 und 2 zu trennen... python_version = int(str(range(3))[-2])

0 Stimmen

@RBT: Für eine einzeilige Prüfung von der Kommandozeile aus, siehe meine Antwort .

-1voto

pkm Punkte 2575

Wenn Sie unter Linux arbeiten, geben Sie einfach den Befehl python Die Ausgabe sieht wie folgt aus

Python 2.4.3 (#1, Jun 11 2009, 14:09:37)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] auf linux2

Geben Sie "Hilfe", "Copyright", "Credits" oder "Lizenz" ein, um weitere Informationen ein.

6 Stimmen

Ich möchte, dass mein Python-Skript in der Lage ist, die Version von Python zu erhalten, die es interpretiert. Die richtige Antwort wurde akzeptiert.

0 Stimmen

Das hilft nicht, um die Python Version innerhalb des Skripts, auch ähnliche Antwort bereits gepostet vor: stackoverflow.com/a/35294211/950762

-1voto

smci Punkte 29317

Um von der Befehlszeile aus zu prüfen, in einem einzigen Befehl, aber mit Major, Minor, Micro Version, Releaselevel und Serial und rufen Sie dann denselben Python-Interpreter (d. h. denselben Pfad) auf, den Sie für Ihr Skript verwenden:

> path/to/your/python -c "import sys; print('{}.{}.{}-{}-{}'.format(*sys.version_info))"

3.7.6-final-0

Anmerkung: .format() anstelle von f-Zeichenfolgen oder '.'.join() erlaubt es Ihnen, beliebige Formatierungen und Trennzeichen zu verwenden, z.B. um daraus einen greppbaren Ein-Wort-String zu machen. Ich habe dies in ein Bash-Utility-Skript eingebaut, das alle wichtigen Versionen meldet: Python, Numpy, Pandas, Sklearn, MacOS, Xcode, Clang, Brew, Conda, Anaconda, Gcc/G++ usw. Nützlich für die Protokollierung, Replizierbarkeit, Fehlersuche, Bug-Reporting usw.

2 Stimmen

Diese Antwort wäre für eine andere Frage angemessen, wie die folgende verlinkt in den Kommentaren unter der Frage. Es ist nicht geeignet, um festzustellen, welche Python-Version ein Skript aus diesem Skript heraus ausführt, da es keine Garantie dafür gibt, dass die python Befehl ruft diesen speziellen Python-Interpreter auf.

0 Stimmen

@user2357112supportsMonica: Diese Antwort ist vollkommen angemessen für die gestellte Frage. In der gestellten Frage steht nirgends "von innerhalb des Skripts". Wenn sie das täte, wäre das etwas anderes. Diese Antwort impliziert eindeutig "rufen Sie denselben Python-Interpreter auf, d. h. denselben Pfad, den Sie für Ihr Skript verwendet haben". Aber wenn Sie darauf bestehen, dass ich das in die Antwort einfügen muss, werde ich das tun.

0 Stimmen

F-Zeichenfolgen können auch beliebige Formatierungen verwenden. Außerdem denke ich, dass Anfänger sehr wohl eine andere Python-Version in ihrer Ide verwenden könnten als die, die verwendet wird, wenn sie Python in die Befehlszeile eingeben, und sich dieses Unterschieds vielleicht nicht bewusst sind.

-1voto

shaila Punkte 69

Unter Windows gehen Sie zur Eingabeaufforderung und geben Sie diesen Befehl ein, um die Python-Version zu ermitteln:

python --version

Oder

python -V

-3voto

programmer365 Punkte 13508

Ein Versuch mit os.popen um sie in einer Variablen zu lesen:

import os
ver = os.popen('python -V').read().strip()
print(ver)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X