Ich muss die Python y Django für unsere Anwendung. Ich habe also zwei Versionen von Python, 2.6 und 2.7. Jetzt habe ich Django installiert. Ich konnte die Beispielanwendung zum Testen von Django erfolgreich ausführen. Aber wie stelle ich sicher, ob Django die Version 2.6 oder 2.7 verwendet und welche Version der Module Django verwendet?
Antworten
Zu viele Anzeigen?Django verwendet die Version von Python, die in der Umgebungsvariablen PYTHONPATH angegeben ist. Sie können verwenden echo $PYTHONPATH
in einer Shell, um zu bestimmen, welche Version verwendet werden soll.
Die von Django verwendeten Modulversionen sind die Modulversionen, die unter der in PYTHONPATH angegebenen Python-Version installiert sind.
Es gibt eine undokumentierte utils
Versionen-Modul in Django:
https://github.com/django/django/blob/master/django/utils/version.py
Damit können Sie die normale Version als String oder ein detailliertes Versions-Tupel erhalten:
>>> from django.utils import version
>>> version.get_version()
... 1.9
>>> version.get_complete_version()
... (1, 9, 0, 'final', 0)
Der pythonischste Weg, den ich gesehen habe, um die Version von tout Paket:
>>> import pkg_resources;
>>> pkg_resources.get_distribution('django').version
'1.8.4'
Dies ist direkt mit setup.py verknüpft: https://github.com/django/django/blob/master/setup.py#L37
Außerdem gibt es distutils
um die Version zu vergleichen:
>>> from distutils.version import LooseVersion, StrictVersion
>>> LooseVersion("2.3.1") < LooseVersion("10.1.2")
True
>>> StrictVersion("2.3.1") < StrictVersion("10.1.2")
True
>>> StrictVersion("2.3.1") > StrictVersion("10.1.2")
False
Was die Beschaffung der python
Version, stimme ich zu mit James Bradbury :
>>> import sys
>>> sys.version
'3.4.3 (default, Jul 13 2015, 12:18:23) \n[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)]'
Das Ganze zusammenhalten:
>>> StrictVersion((sys.version.split(' ')[0])) > StrictVersion('2.6')
True
101 Stimmen
Kürzester Weg -
python3 -m django --version
12 Stimmen
In meiner Installation wird python3 nicht erkannt. Dies funktioniert: python -m django --version
1 Stimmen
Ich glaube, da auf MacOS-Systemen eine etwas ältere Python-Version vorinstalliert ist, ist das Suffix "3" für den Befehl "python" erforderlich, um Verwirrung auf Seiten des Betriebssystems darüber zu vermeiden, welche Version zu verwenden ist. Auf Windows-Systemen ist dies nicht erforderlich, so dass die Lösung von @AnttiA gut funktioniert.
8 Stimmen
Ein anderer kürzester Weg ist
django-admin --version