Как проверить версию Django - PullRequest
476 голосов
/ 24 июня 2011

Я должен использовать Python и Django для нашего приложения. Итак, у меня есть две версии Python, 2.6 и 2.7. Теперь я установил Django. Я мог бы успешно запустить образец приложения для тестирования Django. Но как мне убедиться, что Django использует версию 2.6 или 2.7 и какую версию модулей использует Django?

Ответы [ 25 ]

9 голосов
/ 09 июля 2017
django-admin --version
python manage.py --version
pip freeze | grep django
8 голосов
/ 29 сентября 2014

Зайдите в консоль и введите:

django-admin --version

ОБНОВЛЕНИЕ

В последнее время я заметил, что правильным способом будет перейти к оболочке Python и проверить версиютам:

$ python
>> import django
>> django.VERSION
8 голосов
/ 24 декабря 2013

Для проверки с использованием оболочки Python выполните следующие действия.

>>>from django import get_version
>>> get_version()

Если вы хотите сделать это в оболочке Unix / Linux одной строкой, то выполните

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

После того, как вы разработали приложение, вы можете проверить версию напрямую, используя следующую информацию:

python manage.py runserver --version
5 голосов
/ 24 июня 2011

Django будет использовать версию Python, указанную в переменной среды PYTHONPATH.Вы можете использовать echo $PYTHONPATH в оболочке, чтобы определить, какая версия будет использоваться.

Версии модулей, используемые Django, будут версиями модулей, установленными в версии Python, указанной в PYTHONPATH.

5 голосов
/ 15 февраля 2017

запустите pip list на LINUX TERMINAL и найдите Django и его версию в списке

запустите pip freeze на cmd в Windows

4 голосов
/ 06 июля 2014

Вы можете сделать это и без Python.Просто введите это в вашем каталоге Django:

cat __init__.py | grep VERSION

И вы получите что-то вроде:

VERSION = (1, 5, 5, 'final', 0)
4 голосов
/ 09 декабря 2015

В django есть недокументированный модуль версий утилит

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

С этим вы можете получить обычную версию в виде строки или подробного кортежа версий:

>>> from django.utils import version
>>> version.get_version()
... 1.9
>>> version.get_complete_version()
... (1, 9, 0, 'final', 0)
3 голосов
/ 20 октября 2015

Я думал, что самый питонический способ был:

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

Это напрямую связано с setup.py: https://github.com/django/django/blob/master/setup.py#L37

Это определенно лучший способ получить номер версии ЛЮБОГО пакета!

Также есть 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

Что касается версии python, я согласен с @ 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)]'

Связывая все вместе:

>>> StrictVersion((sys.version.split(' ')[0])) > StrictVersion('2.6')
True
2 голосов
/ 17 февраля 2015

Если вы хотите сравнить версию Django, вы можете использовать django-nine (pip install django-nine).Например, если в вашей среде установлена ​​версия Django 1.7.4, то верно следующее:

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 голосов
/ 24 мая 2018

После django 1.0 вы можете просто сделать это

$ django-admin --version
1.11.10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...