702 Stimmen

Wie man die Django-Version überprüft

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?

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.

50voto

Josh Brown Punkte 893

Wenn Sie eine pip können Sie auch eine

pip freezeund es wird alle Komponentenversionen einschließlich Django anzeigen.

Sie können es durch grep leiten, um nur die Django-Version zu erhalten. Das heißt,

josh@villaroyale:~/code/djangosite$ pip freeze | grep Django
Django==1.4.3

49voto

Alexander Punkte 96032

Da Sie sagen, Sie haben zwei Versionen von Python, nehme ich an, dass sie in verschiedenen virtuelle Umgebungen (z.B. venv) oder vielleicht Conda-Umgebungen .

Als Sie Django installiert haben, war es wahrscheinlich in nur einer Umgebung. Es ist möglich, dass Sie zwei verschiedene Versionen von Django haben, eine für jede Version von Python.

Von einem Unix/Mac-Terminal aus können Sie Ihre Python-Version wie folgt überprüfen:

$ python --version

Wenn Sie die Quelle wissen wollen:

$ which python

Und um die Version von Django zu überprüfen:

$ python -m django --version

38voto

James Bradbury Punkte 1590

Para Python :

import sys
sys.version

Für Django (wie von anderen hier erwähnt):

import django
django.get_version()

Das potenzielle Problem bei der einfachen Überprüfung der Version besteht darin, dass Versionen aktualisiert werden und der Code daher veraltet sein kann. Sie wollen sicherstellen, dass '1.7' < '1.7.1' < '1.7.5' < '1.7.10'. Ein normaler String-Vergleich würde bei dem letzten Vergleich fehlschlagen:

>>> '1.7.5' < '1.7.10'
False

Die Lösung ist die Verwendung von StrictVersion von distutils .

>>> from distutils.version import StrictVersion
>>> StrictVersion('1.7.5') < StrictVersion('1.7.10')
True

4 Stimmen

Wie wäre es mit der Verwendung von django.VERSION die bereits als Tupel vorliegt? Ich bin mir ziemlich sicher, dass das django.VERSION >= (1, 8) wird immer wie vorgesehen funktionieren.

22voto

Vishal Nagda Punkte 1105

Es gibt verschiedene Möglichkeiten, die Django-Version zu erhalten. Sie können je nach Ihren Anforderungen einen der folgenden Wege wählen.

Anmerkung: Wenn Sie in einer virtuellen Umgebung arbeiten, laden Sie bitte Ihre Python-Umgebung


Terminal-Befehle

  1. python -m django --version
  2. django-admin --version ou django-admin.py version
  3. ./manage.py --version ou python manage.py --version
  4. pip freeze | grep Django
  5. python -c "import django; print(django.get_version())"
  6. python manage.py runserver --version

Django-Shell-Befehle

  1. import django django.get_version() OR django.VERSION
  2. from django.utils import version version.get_version() OR version.get_complete_version()
  3. import pkg_resources pkg_resources.get_distribution('django').version

(Sie können diese Antwort gerne ändern, wenn Sie eine Korrektur vornehmen oder weitere Informationen hinzufügen möchten).

18voto

swami Punkte 387

Tippen Sie einfach python -m django --version oder tippen pip freeze um alle Versionen der installierten Module einschließlich Django zu sehen.

2 Stimmen

Es gibt keinen Grund, dies herunterzustufen, es ist eine der prägnantesten Antworten.

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