Как проверить версию 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
перейти к вашей Джанго проект домашний каталог и сделать:
./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. То есть,
josh@villaroyale:~/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
для проверки использования оболочки 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
Команды Терминала
python -m django --version
-
django-admin --version
илиdjango-admin.py version
-
./manage.py --version
илиpython manage.py --version
pip freeze | grep Django
python -c "import django; print(django.get_version())"
python manage.py runserver --version
Команды Оболочки Django
-
import django django.get_version()
илиdjango.VERSION
-
from django.utils import version version.get_version()
илиversion.get_complete_version()
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
Если вы работаете в виртуальной среде, просто pip freeze скажет вам, если нет, вы можете использовать это
django-admin --version
откройте командную строку на компьютере с Windows.
после того, как вы его открыли, введите следующую строку.
py -m django --version
взамен вы получите обратно версию Django, которую вы установили на свой компьютер.
вы можете получить версию django, выполнив следующую команду в командной строке
python-m django --версия
Если Django установлен, вы должны увидеть версию, иначе вы получите сообщение об ошибке "нет модуля с именем django".
python -m django --version
Если Django установлен, вы должны увидеть версию вашей установки. Если это не так, вы получите сообщение об ошибке “ No module named django ”
.
вы можете импортировать django, а затем ввести инструкцию печати, как указано ниже, чтобы узнать версию django, т. е. установленную в вашей системе:
>>> import django
>>> print(django.get_version())
2.1