web-dev-qa-db-fra.com

Comment vérifier la version de Django

Je dois utiliser Python et Django pour notre application. J'ai donc deux versions de Python, 2.6 et 2.7. Maintenant, j'ai installé Django. Je pourrais exécuter l’exemple d’application pour tester Django avec succès. Mais comment puis-je m'assurer que Django utilise la version 2.6 ou 2.7 et quelle version de modules utilise Django?

429
maheshgupta024

Django 1.5 prend en charge Python 2.6.5 et versions ultérieures.

Si vous êtes sous Linux et souhaitez vérifier la version Python que vous utilisez, exécutez python -V à partir de la ligne de commande.

Si vous voulez vérifier la version de Django, ouvrez une console Python et tapez

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

En gros, la même chose que la réponse de bcoughlan , mais ici, c'est une commande exécutable:

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

Si vous avez installé l'application: 

$ Django-admin.py version
2.0
179
justi

Allez dans votre répertoire personnel Django project et faites:

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

J'utilise le IDLE (interface graphique Python).

48
Mtech

Si vous avez pip , vous pouvez aussi faire un 

pip gel
et il montrera votre version de Django.

Vous pouvez le transmettre via grep pour obtenir uniquement la version Django. C'est, 

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

Pour Python :

import sys
sys.version

Pour Django (comme mentionné par d'autres ici):

import Django
django.get_version()

Le problème potentiel avec la simple vérification de la version est que les versions sont mises à niveau et que le code peut devenir obsolète. Vous voulez vous assurer que '1.7' <'1.7.1' <'1.7.5' <'1.7.10'. Une comparaison de chaîne normale échouerait lors de la dernière comparaison:

>>> '1.7.5' < '1.7.10'
False

La solution consiste à utiliser StrictVersion de distutils .

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

Tapez ce qui suit à l'invite de commande:

Django-admin.py version

Si Django est installé, il imprimera sa version actuelle (par exemple, 1.6.5),
sinon le shell imprimera un message d'erreur.

33
Anshul Bisht

Comme vous dites que vous avez deux versions de python, je suppose qu'elles se trouvent dans différents environnements virtuels (par exemple, venv) ou peut-être conda environnements .

Lorsque vous avez installé Django, il s'agissait probablement d'un seul environnement. Il est possible que vous disposiez de deux versions différentes de Django, une pour chaque version de python.

Depuis un terminal Unix/Mac, vous pouvez vérifier votre version de python comme suit:

$ python --version

Si vous voulez connaître la source:

$ which python

Et pour vérifier la version de Django:

$ python -m Django --version
26
Alexander
Django-admin --version
python manage.py --version
pip freeze | grep Django
10
Vishnu Kiran

Allez à la console et tapez:

Django-admin --version

METTRE &AGRAVE; JOUR

récemment, j'ai remarqué que la bonne façon serait d'aller à Python Shell et de vérifier la version:

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

Pour vérifier à l'aide d'un shell Python, procédez comme suit.

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

Si vous souhaitez le faire dans Unix/Linux Shell avec une seule ligne, faites alors

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

Une fois que vous avez développé une application, vous pouvez vérifier la version directement à l'aide des éléments suivants.

python manage.py runserver --version
8
kmario23

lancez pip list sur LINUX TERMINAL et trouvez Django et sa version dans la liste

exécuter pip freeze sur cmd sous Windows 

5
Avinash Bakshi

Django utilisera la version de Python spécifiée par la variable d’environnement PYTHONPATH. Vous pouvez utiliser echo $PYTHONPATH dans un shell pour déterminer quelle version sera utilisée.

Les versions de module utilisées par Django seront les versions de module installées sous la version de Python spécifiée par PYTHONPATH.

5
George Cummins

Il y a un module de versions d'Utils non documenté dans Django

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

Avec cela, vous pouvez obtenir la version normale sous forme de chaîne ou une version détaillée

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

Vous pouvez le faire sans Python aussi. Il suffit de taper ceci dans votre répertoire Django:

cat __init__.py | grep VERSION

Et vous obtiendrez quelque chose comme:

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

Je pensais que la manière la plus pythonique était:

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

Ceci est directement lié à setup.py: https://github.com/Django/django/blob/master/setup.py#L37

C'est vraiment le meilleur moyen d'obtenir le numéro de version de N'IMPORTE QUEL paquet!

Il y a aussi 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

En ce qui concerne la version python, je suis d’accord avec @jamesdradbury

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

Lier le tout ensemble: 

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

Si vous souhaitez comparer les versions de Django, vous pouvez utiliser Django-nine (installer pip Django-nine). Par exemple, si la version de Django installée dans votre environnement est 1.7.4, les conditions suivantes sont vraies.

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
Artur Barseghyan

Après Django 1.0, vous pouvez simplement le faire

$ Django-admin --version
1.11.10
2
Mark White

Tapez la commande suivante dans Python Shell

import Django
django.get_version()
2
Baishakhi Dasgupta

Si vous travaillez dans un environnement virtuel, pip freeze vous le dira, sinon vous pouvez utiliser cette

Django-admin --version
1
Vishnu Kiran

Version Python supportée par la version Django

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

Pour vérifier que Django peut être vu par Python, tapez python à partir de votre shell. Puis, à l'invite de Python, essayez d'importer Django:

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

vous pouvez importer Django puis taper print statement comme indiqué ci-dessous pour connaître la version de Django i.e. installée sur votre système:

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

Vous pouvez obtenir la version de Django en exécutant la commande suivante dans une invite du shell.

python -m Django --version

Si Django est installé, vous devriez voir la version, sinon vous obtiendrez une erreur indiquant «Aucun module nommé Django».

0
Amit baderia