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?
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)
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
Si vous avez installé l'application:
$ Django-admin.py version
2.0
Allez dans votre répertoire personnel Django project et faites:
./manage.py --version
>>> import Django
>>> print(Django.get_version())
1.6.1
J'utilise le IDLE (interface graphique Python).
Si vous avez pip , vous pouvez aussi faire un
pip gelet 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
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
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.
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
Django-admin --version
python manage.py --version
pip freeze | grep Django
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
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
lancez pip list
sur LINUX TERMINAL et trouvez Django et sa version dans la liste
exécuter pip freeze
sur cmd sous Windows
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.
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)
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)
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
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
Après Django 1.0, vous pouvez simplement le faire
$ Django-admin --version
1.11.10
Tapez la commande suivante dans Python Shell
import Django
django.get_version()
Si vous travaillez dans un environnement virtuel, pip freeze vous le dira, sinon vous pouvez utiliser cette
Django-admin --version
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)
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
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».