Python import django version

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

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

25 ответов

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

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

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

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

Для альтернативно отформатированного вывода можно выполнить print(django.get_version()) которая будет возвращать что-то вроде 1.6.5 EDIT: я только что заметил, что это было сказано MTech ниже.

большинство модулей имеют .__version__ чтобы PEP имел его последовательно, а не .VERSION и .get_version() которые я видел только для django.

@dashesy Похоже, начиная с Django 1.8, вы можете использовать django.__version__ чтобы получить версию, а также django.VERSION и print(django.get_version()) .

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

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

Объединение Брэди Эмерсона и bcoughlan: python -c «import django; print(django.VERSION)» возвращает (1, 8, 5, ‘final’, 0)

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

По состоянию на май 2018 года (дата, когда я снова проверил этот ответ), он показывает версию как 1.11.5, несмотря на то, что я установил 2.0.1. Но >> django.VERSION в оболочке python отображает правильную версию

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

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

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

Для Django (как упоминалось выше):

import django django.get_version() 

Потенциальная проблема с простой проверкой версии — это то, что версии обновляются, поэтому код может устареть. Вы хотите удостовериться, что ‘1.7’ < '1.7.1' < '1,7,5' '1.7.10'. В последнем сравнении нормальное сравнение строк не получилось:

Решение состоит в использовании StrictVersion из distutils.

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

Как насчет использования django.VERSION , который уже поставляется в виде кортежа? Я уверен, что выполнение django.VERSION >= (1, 8) всегда будет работать как задумано.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

$ python >> import django >> django.VERSION 

Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий под своим постом.

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

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

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

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

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

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

python manage.py runserver --version 

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

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

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

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

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

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

>>> from django.utils import version >>> version.get_version() . 1.9 >>> version.get_complete_version() . (1, 9, 0, 'final', 0) 

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

cat __init__.py | grep VERSION 

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

Это замечательно, если вы не хотите активировать виртуальную среду только для получения значения или используете что-то вроде AWS Elastic Beanstalk и не можете активировать виртуальную среду.

@rjferguson: вам не нужно активировать свою среду, чтобы pip freeze / python -c "import ; .VERSION" . Вы можете просто сослаться на него: /path/to/env/bin/python -c "" или, если вы хотите установить / использовать pip, то же самое: /path/to/env/bin/pip freeze . Я использую это все время, особенно когда я вошел в систему как root, и весь мой код приложения работает как www-data я делаю: sudo su www-data -c "/path/to/env/bin/pip install " И даже не моргай. (я знаю, что это почти 2 года спустя, и вы, наверное, знаете об этом сейчас - это больше для следующего парня)

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

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

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

Также существует 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 

Источник

How to check Django version?

Django is one of the most popular framework for creating web applications. Its initial release was back in 2005, and since then, more than 20 stable versions have been released. Having that many versions available to choose from, we often require methods to check our version in Django, either for deployment or dependency compatibility purposes. So how to check the Django version?

Django version can be checked using multiple approaches.

1. Using the django-admin command line (terminal commands)

$ python manage.py version 4.0.3
$ python -m django version 4.0.3

2. Using django module (Python console commands)

>>> import django >>> django.VERSION (4, 0, 3, 'final', 0)
>>> import django >>> django.get_version() '4.0.3'

3. Using pip (terminal commands)

$ pip show django Name: Django Version: 4.0.3 Summary: A high-level Python web framework that encourages rapid development and clean, pragmatic design. Home-page: https://www.djangoproject.com/ Author: Django Software Foundation Author-email: foundation@djangoproject.com License: BSD-3-Clause Location. /venv/lib/python3.8/site-packages Requires: asgiref, backports.zoneinfo, sqlparse Required-by:
$ pip freeze | grep Django Django==4.0.3

4. Using pkg_resources module (Python console command)

>>> import pkg_resources >>> pkg_resources.get_distribution('django').version '4.0.3'

We divide approaches of checking Django version by:

Django check version console commands.

Python console commands can be used inside our Django code.

Django check version terminal commands.

What method should I use?

There is a big difference between Python console and terminal commands. So firstly, you should narrow your search of methods to one of the provided approaches.

When to use terminal commands? When to use Python console commands?
Use it when output is not required later in the code. Use it when your code depends on the output of the given method.
Use it for a quick check of the Django version.

Now, when you narrow your search to one of the approaches, you still have many choices to consider.

All approaches work fine, and no matter the choice you use, you should stick with it. I would suggest going with basic Django’s command-line utility (one of three commands). If you need more details, use pip show django command since it lists all the essential info of the installed Django version. If you need to use the version in your code, use django.VERSION or django.get_version() depending on the format you need. The django.VERSION command returns version in tuple format, and django.get_version() returns output in string type format.

Recent Posts

Источник

Читайте также:  Disable index php in url
Оцените статью