web-dev-qa-db-de.com

So überprüfen Sie die Django-Version

Ich muss Python und Django für unsere Anwendung verwenden. 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 Modulversion Django verwendet?

429
maheshgupta024

Django 1.5 unterstützt Python 2.6.5 und höher.

Wenn Sie unter Linux sind und die verwendete Python-Version überprüfen möchten, führen Sie python -V in der Befehlszeile aus.

Wenn Sie die Django-Version überprüfen möchten, öffnen Sie eine Python-Konsole und geben Sie ein

>>> import Django
>>> Django.VERSION
(2, 0, 0, 'final', 0)
531
bcoughlan

Im Grunde dasselbe wie bcoughlans Antwort , aber hier ist es ein ausführbarer Befehl:

$ python -c "import Django; print(Django.get_version())"
2.0
338
Brady Emerson

Wenn Sie die Anwendung installiert haben: 

$ Django-admin.py version
2.0
179
justi

Gehen Sie in Ihr Django Projekt-Home-Verzeichnis und führen Sie folgende Schritte aus:

./manage.py --version
78
nik7
>>> import Django
>>> print(Django.get_version())
1.6.1

Ich verwende die IDLE (Python-GUI).

48
Mtech

Wenn Sie pip haben, können Sie auch eine 

pip einfrieren
und es wird Ihre Django-Version angezeigt.

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

[email protected]:~/code/djangosite$ pip freeze | grep Django
Django==1.4.3
34
Josh Brown

Für Python :

import sys
sys.version

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

import Django
django.get_version()

Das Problem bei der einfachen Überprüfung der Version besteht darin, dass die Versionen aktualisiert werden und der Code daher möglicherweise nicht mehr aktuell ist. Sie möchten sicherstellen, dass '1.7' <'1.7.1' <'1.7.5' <'1.7.10' ist. Ein normaler Stringvergleich würde im 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
33
James Bradbury

Geben Sie an der Eingabeaufforderung Folgendes ein:

Django-admin.py version

Wenn Django installiert ist, wird die aktuelle Version gedruckt (z. B. 1.6.5).
Andernfalls gibt die Shell eine Fehlermeldung aus.

33
Anshul Bisht

Wie Sie sagen, Sie haben zwei Versionen von Python, nehme ich an, dass sie sich in unterschiedlichen virtuellen Umgebungen (z. B. venv) oder vielleicht conda-Umgebungen befinden.

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

In einem Unix/Mac-Terminal 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
26
Alexander

Es gibt verschiedene Möglichkeiten, um die Django Version zu erhalten. Sie können eine der folgenden Optionen verwenden, die Ihren Anforderungen entsprechen.

Hinweis: Wenn Sie in einer virtuellen Umgebung arbeiten, laden Sie bitte Ihre python Umgebung


Terminal-Befehle

  1. python -m Django --version
  2. Django-admin --version Oder Django-admin.py version
  3. ./manage.py --version Oder 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

(Fühlen Sie sich frei, diese Antwort zu ändern, wenn Sie irgendeine Art von Korrektur haben oder weitere verwandte Informationen hinzufügen möchten.)

14
Vishal Nagda
Django-admin --version
python manage.py --version
pip freeze | grep Django
10
Vishnu Kiran

Gehen Sie zur Konsole und geben Sie Folgendes ein:

Django-admin --version

UPDATE

in letzter Zeit habe ich festgestellt, dass der richtige Weg zur Python-Shell ist und die Version dort überprüft:

$ python
>> import Django
>> Django.VERSION
8
Alex Jolig

Führen Sie folgende Schritte aus, um die Verwendung einer Python-Shell zu überprüfen.

>>>from Django import get_version
>>> get_version()

Wenn Sie dies in Unix/Linux Shell mit einer einzigen Zeile tun möchten, tun Sie dies

python -c 'import Django; print(Django.get_version())'

Nachdem Sie eine Anwendung entwickelt haben, können Sie die Version direkt überprüfen, indem Sie Folgendes verwenden.

python manage.py runserver --version
8
kmario23

starte pip list auf LINUX TERMINAL und finde Django und seine Version in der Liste

führen Sie pip freeze auf cmd unter Windows aus 

5
Avinash Bakshi

Django verwendet die Python-Version, die in der Umgebungsvariablen PYTHONPATH angegeben ist. Sie können echo $PYTHONPATH in einer Shell verwenden, um zu bestimmen, welche Version verwendet wird.

Die von Django verwendeten Modulversionen sind die Modulversionen, die unter der von PYTHONPATH angegebenen Version von Python installiert werden.

5
George Cummins

In Django gibt es ein undokumentiertes Utils-Versionsmodul

https://github.com/Django/django/blob/master/Django/utils/version.py

Damit kann man die normale Version als String oder eine ausführliche Version Tuple bekommen:

>>> from Django.utils import version
>>> version.get_version()
... 1.9
>>> version.get_complete_version()
... (1, 9, 0, 'final', 0)
4
yellowcap

Das geht auch ohne Python. Geben Sie dies einfach in Ihr Django-Verzeichnis ein:

cat __init__.py | grep VERSION

Und du wirst etwas bekommen wie:

VERSION = (1, 5, 5, 'final', 0)
4
Alex Babak

Ich dachte, der pythonic Weg war:

>>> import pkg_resources; 
>>> pkg_resources.get_distribution('Django').version
'1.8.4'

Dies hängt direkt mit setup.py zusammen: https://github.com/Django/django/blob/master/setup.py#L37

Es ist definitiv der beste Weg, um die Versionsnummer von ANY-Paketen zu erhalten!

Es gibt auch distutils

>>> 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 python-Version angeht, stimme ich @jamesdradbury zu

>>> 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)]'

Alles zusammenbinden: 

>>> StrictVersion((sys.version.split(' ')[0])) > StrictVersion('2.6')
True
3
Javier Buzzi

Wenn Sie einen Vergleich der Django-Version durchführen möchten, können Sie Django-nine (pip install Django-nine) verwenden. Wenn beispielsweise die Django-Version 1.7.4 in Ihrer Umgebung installiert ist, gilt Folgendes.

from nine import versions

versions.Django_1_7 # True
versions.Django_LTE_1_7 # True
versions.Django_GTE_1_7 # True
versions.Django_GTE_1_8 # False
versions.Django_GTE_1_4 # True
versions.Django_LTE_1_6 # False
2

Nach Django 1.0 können Sie dies einfach tun

$ Django-admin --version
1.11.10
2
Mark White

Geben Sie den folgenden Befehl in Python Shell ein

import Django
django.get_version()
2

Wenn Sie in einer virtuellen Umgebung arbeiten, würde Ihnen nur Pip Freeze sagen, ob Sie dies nicht verwenden können

Django-admin --version
1
Vishnu Kiran

Python-Version wird von der Django-Version unterstützt

Django version     Python versions
1.0                2.3, 2.4, 2.5, 2.6
1.1                2.3, 2.4, 2.5, 2.6
1.2                2.4, 2.5, 2.6, 2.7
1.3                2.4, 2.5, 2.6, 2.7
1.4                2.5, 2.6, 2.7
1.5                2.6.5, 2.7 and 3.2.3, 3.3 (experimental)
1.6                2.6.5, 2.7 and 3.2.3, 3.3
1.11               2.7, 3.4, 3.5, 3.6, 3.7 (added in 1.11.17)
2.0                3.4, 3.5, 3.6, 3.7
2.1, 2.2           3.5, 3.6, 3.7

Um zu überprüfen, ob Django für Python sichtbar ist, geben Sie in Ihrer Shell Python ein. Versuchen Sie dann bei der Python-Eingabeaufforderung, Django zu importieren:

>>> import Django
>>> print(Django.get_version())
2.1
>>> Django.VERSION
(2, 1, 4, 'final', 0)
0
Shafikur Rahman

sie können Django importieren und dann wie unten angegeben die Anweisung print eingeben, um die Version von Django, d.

>>> import Django
>>> print(Django.get_version())
2.1
0
Sonia Rani

Sie können die Django-Version abrufen, indem Sie den folgenden Befehl in einer Shell-Eingabeaufforderung ausführen

python -m Django --version

Wenn Django installiert ist, sollten Sie die Version sehen. Andernfalls erhalten Sie die Fehlermeldung "Kein Modul namens Django".

0
Amit baderia