Как проверить версию Django

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

26 ответов


Django 1.5 поддерживает Python 2.6.5 и более поздние версии.

Если вы находитесь под Linux и хотите проверить версию Python, которую вы используете, запустите python -V из командной строки.

Если вы хотите проверить версию Django, откройте консоль Python и введите

>>> import django
>>> django.VERSION
(2, 0, 0, 'final', 0)

в основном то же самое, что и ответ bcoughlan, но здесь это как исполняемая команда:

$ python -c "import django; print(django.get_version())"
2.0

Если вы установили приложение:

$ django-admin.py version
2.0

перейти к вашей Джанго проект домашний каталог и сделать:

./manage.py --version

>>> import django
>>> print(django.get_version())
1.6.1

Я использую ожидания (графический интерфейс Python).


на Python:

import sys
sys.version

для Django (как упоминалось другими здесь):

import django
django.get_version()

потенциальная проблема с простой проверкой версии заключается в том, что версии обновляются, и поэтому код может устареть. Вы хотите, чтобы убедиться, что '1.7'

>>> '1.7.5' < '1.7.10'
False

решение заключается в использовании StrictVersion от distutils.

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

введите в командной строке следующую команду:

django-admin.py version

Если django установлен, он будет печатать текущую версию (например. 1.6.5),
в противном случае оболочка напечатает сообщение об ошибке.


Если у вас Пип, вы также можете сделать

pip freeze
и он покажет вашу версию Django.

вы можете передать его через grep, чтобы получить только версию Django. То есть,

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

как вы говорите, у вас есть две версии Python, я предполагаю, что они находятся в разных виртуальных сред (например, venv) или, возможно, среды conda.

когда вы установили django, это было, вероятно, только в одной среде. Возможно, у вас есть две разные версии django, по одной для каждой версии python.

In из терминала Unix / Mac вы можете проверить свою версию python следующим образом:

$ python --version

Если вы хотите знать источник:

$ which python

и проверить версию django:

$ python -m django --version

django-admin --version
python manage.py --version
pip freeze | grep django

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

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

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

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

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

python manage.py runserver --version

перейдите в консоль и введите:

django-admin --version

обновление

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

$ python
>> import django
>> django.VERSION

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

модуль версии Джанго будет установлен модуль версии под версию Python, указанный PYTHONPATH.


run pip list на терминале LINUX и найти Django и его версию в списке

run pip freeze на cmd в Windows


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

cat __init__.py | grep VERSION

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

VERSION = (1, 5, 5, 'final', 0)

существует недокументированный модуль версий utils в 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)

существуют различные способы получить версию Django. Вы можете использовать любое одно из следующих приведенных ниже согласно вашим требованиям.

Примечание: если вы работаете в виртуальной среде, Пожалуйста, загрузите среду python


Команды Терминала

  1. python -m django --version
  2. django-admin --version или django-admin.py version
  3. ./manage.py --version или 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

  1. import django django.get_version() или django.VERSION
  2. from django.utils import version version.get_version() или version.get_complete_version()
  3. import pkg_resources pkg_resources.get_distribution('django').version

(не стесняйтесь изменять этот ответ, если у вас есть какая-то коррекция или вы хотите добавить больше информации.)


Я думал, что наиболее подходящие для Python образом:

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

Если вы хотите сделать сравнение версий 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

введите следующую команду в Python shell

import django
django.get_version()

Если вы работаете в виртуальной среде, просто pip freeze скажет вам, если нет, вы можете использовать это

django-admin --version

откройте командную строку на компьютере с Windows.

после того, как вы его открыли, введите следующую строку.

py -m django --version

взамен вы получите обратно версию Django, которую вы установили на свой компьютер.


вы можете получить версию django, выполнив следующую команду в командной строке

python-m django --версия

Если Django установлен, вы должны увидеть версию, иначе вы получите сообщение об ошибке "нет модуля с именем django".


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

$ django-admin --version
1.11.10

python -m django --version

Если Django установлен, вы должны увидеть версию вашей установки. Если это не так, вы получите сообщение об ошибке “ No module named django ”.


вы можете импортировать django, а затем ввести инструкцию печати, как указано ниже, чтобы узнать версию django, т. е. установленную в вашей системе:

>>> import django
>>> print(django.get_version())
2.1