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 lancer L'application pour tester Django avec succès. Mais comment savoir si Django utilise la version 2.6 ou 2.7 et quelle version des modules Django utilise?
26 réponses
Django 1.5 supporte Python 2.6.5 et plus tard.
si vous êtes sous Linux et que vous voulez vérifier la version Python que vous utilisez, Lancez python -V
depuis la ligne de commande.
si vous voulez vérifier la version Django, ouvrez une console Python et tapez
>>> import django
>>> django.VERSION
(2, 0, 0, 'final', 0)
identique à la réponse de bcoughlan, mais ici c'est comme une commande exécutable:
$ python -c "import django; print(django.get_version())"
2.0
si vous avez installé l'application:
$ django-admin.py version
2.0
Pour Python :
import sys
sys.version
Pour Django (comme mentionné par d'autres ici):
import django
django.get_version()
le problème potentiel en vérifiant simplement la version, est que les versions sont mises à jour et donc le code peut être dépassé. Vous voulez vous assurer que '1.7' < '1.7.1' < '1.7.5' < '1.7.10'. Une comparaison normale des chaînes échouerait dans la dernière comparaison:
>>> '1.7.5' < '1.7.10'
False
La solution est d'utiliser StrictVersion de distutils .
>>> from distutils.version import StrictVersion
>>> StrictVersion('1.7.5') < StrictVersion('1.7.10')
True
tapez ce qui suit à l'invite de commande:
django-admin.py version
si django est installé, il imprimera sa version actuelle (par ex. 1.6.5
),
sinon le shell affiche un message d'erreur.
si vous avez pip , vous pouvez aussi faire un
pip freezeet il montrera votre version Django.
vous pouvez le pipe à travers grep pour obtenir juste la version Django. C'est-à-dire,
josh@villaroyale:~/code/djangosite$ pip freeze | grep Django
Django==1.4.3
comme vous dites que vous avez deux versions de python, je suppose qu'elles sont dans des environnements virtuels (par exemple venv) ou peut-être environnements conda .
quand vous avez installé django, c'était probablement dans un seul environnement. Il est possible que vous ayez deux versions différentes de django, une pour chaque version de python.
depuis un terminal Unix/Mac, vous pouvez vérifier votre version 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
django-admin --version
python manage.py --version
pip freeze | grep django
pour vérifier en utilisant un shell Python, faites ce qui suit.
>>>from django import get_version
>>> get_version()
si vous souhaitez le faire dans UNIX / Linux shell avec une seule ligne, puis faire
python -c 'import django; print(django.get_version())'
une fois que vous avez développé une application, vous pouvez vérifier la version directement en utilisant ce qui suit.
python manage.py runserver --version
aller à la console et taper:
django-admin --version
mise à JOUR
dernièrement j'ai remarqué que la bonne façon serait d'aller à l'interpréteur de commandes de python et vérifier la version là:
$ python
>> import django
>> django.VERSION
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.
run pip list
sur Linux TERMINAL et trouver Django et sa version sur la liste
exécuter pip freeze
sur cmd sur Windows
vous pouvez le faire sans Python aussi. Tapez simplement ceci dans votre répertoire Django:
cat __init__.py | grep VERSION
Et vous obtiendrez quelque chose comme:
VERSION = (1, 5, 5, 'final', 0)
il y a un module de version utils non documenté à django
https://github.com/django/django/blob/master/django/utils/version.py
avec cela vous pouvez obtenir la version normale comme chaîne ou une version détaillée tuple:
>>> from django.utils import version
>>> version.get_version()
... 1.9
>>> version.get_complete_version()
... (1, 9, 0, 'final', 0)
il y a plusieurs façons d'obtenir la version Django. Vous pouvez utiliser n'importe lequel des éléments ci-dessous selon vos besoins.
Note: si vous travaillez dans un environnement virtuel, veuillez charger votre environnement python
Terminal Command
-
python -m django --version
-
django-admin --version
oudjango-admin.py version
-
./manage.py --version
oupython manage.py --version
-
pip freeze | grep Django
-
python -c "import django; print(django.get_version())"
-
python manage.py runserver --version
Django Shell Commande
-
import django django.get_version()
OUdjango.VERSION
-
from django.utils import version version.get_version()
ouversion.get_complete_version()
-
import pkg_resources pkg_resources.get_distribution('django').version
(n'hésitez pas à modifier cette réponse, si vous avez une sorte de correction ou bien vous souhaitez ajouter plus d'informations connexes.)
j'ai pensé que le moyen le plus pythonique était:
>>> import pkg_resources;
>>> pkg_resources.get_distribution('django').version
'1.8.4'
cela se rattache directement à setup.py: https://github.com/django/django/blob/master/setup.py#L37
est certainement la meilleure façon 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
comme pour 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)]'
mettre tout ensemble:
>>> StrictVersion((sys.version.split(' ')[0])) > StrictVersion('2.6')
True
si vous voulez faire une comparaison de version Django, vous pouvez utiliser django-nine
(pip install django-nine). Par exemple, si la version Django installée dans votre environnement est 1.7.4, alors ce qui suit serait vrai.
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
tapez la commande suivante dans le shell Python
import django
django.get_version()
Si vous travaillez dans un environnement virtuel juste pip freeze vous dira si vous pouvez utiliser ce
django-admin --version
ouvrez l'invite de commande sur votre PC Windows.
une Fois, vous l'avez ouvert, tapez la ligne suivante.
py -m django --version
en retour, vous récupérerez la version de Django que vous avez installée sur votre ordinateur.
vous pouvez obtenir la version django en exécutant la commande suivante dans une invite shell
python-m django --version
si Django est installé, vous devriez voir la version sinon vous obtiendrez une erreur disant"Aucun module nommé django".
après django 1.0 vous pouvez simplement faire ceci
$ django-admin --version
1.11.10
python -m django --version
si Django est installé, vous devriez voir la version de votre installation. Si ce n'est pas le cas, vous obtiendrez une erreur disant “ No module named django ”
.
vous pouvez importer django et ensuite dactylographier l'instruction d'impression comme indiqué ci-dessous pour connaître la version de django i.e. installé sur votre système:
>>> import django
>>> print(django.get_version())
2.1