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

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

Ответы [ 25 ]

579 голосов
/ 24 июня 2011

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

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

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

>>> import django
>>> django.VERSION
(2, 0, 0, 'final', 0)
353 голосов
/ 29 мая 2013

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

$ python -c "import django; print(django.get_version())"
2.0
187 голосов
/ 03 октября 2013

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

$ django-admin.py version
2.0
84 голосов
/ 30 января 2014

Перейдите в домашний каталог проекта Django и выполните:

./manage.py --version
49 голосов
/ 23 января 2014
>>> import django
>>> print(django.get_version())
1.6.1

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

34 голосов
/ 28 августа 2013

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

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

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

josh@villaroyale:~/code/djangosite$ pip freeze | grep Django
Django==1.4.3
33 голосов
/ 24 февраля 2015

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

django-admin.py version

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

33 голосов
/ 15 октября 2014

Для Python :

import sys
sys.version

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

import django
django.get_version()

Потенциальная проблема простой проверки версии заключается в том, что версии обновляются, и поэтому код может устареть. Вы хотите убедиться, что «1.7» <«1.7.1» <«1.7.5» <«1.7.10». Нормальное сравнение строк завершится неудачно в последнем сравнении: </p>

>>> '1.7.5' < '1.7.10'
False

Решение состоит в том, чтобы использовать StrictVersion от distutils .

>>> from distutils.version import StrictVersion
>>> StrictVersion('1.7.5') < StrictVersion('1.7.10')
True
27 голосов
/ 20 июля 2016

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

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

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

$ python --version

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

$ which python

А чтобы проверить версию django:

$ python -m django --version
14 голосов
/ 11 июня 2018

Существуют различные способы получить версию 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

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

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