Djangoのバージョンを確認する方法


547

アプリケーションにはPythonDjangoを使用する必要があります。つまり、Pythonには2つのバージョン、2.6と2.7があります。Djangoをインストールしました。Djangoを正常にテストするためのサンプルアプリケーションを実行できました。しかし、Djangoが2.6または2.7バージョンを使用しているかどうか、およびDjangoが使用しているモジュールのバージョンを確認するにはどうすればよいですか?


49
最短の方法-python3 -m django --version
Aniketタクール

8
私のインストールではpython3が認識されません。これは機能します:python -m django --version
Antti A

回答:


672

Django 1.5はPython 2.6.5以降をサポートしています。

Linuxを使用していて、使用しているPythonのバージョンを確認する場合はpython -V、コマンドラインから実行します。

Djangoのバージョンを確認するには、Pythonコンソールを開いて次のように入力します。

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

バージョンを確認する前にenvに飛び込んでください。それ以外の場合は、djangoという名前のモジュールはありません。
EngineSense

380

基本的にはbcoughlanの回答と同じですが、ここでは実行可能なコマンドです。

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

Brady Emersonとbcoughlanの組み合わせ: python -c "import django; print(django.VERSION)"リターン (1, 8, 5, 'final', 0)
David Gleba '24年

python -c "import django; print(django.__version__)"代わりに行う必要があります。また、これは'2.2.4'単なるへの呼び出しですget_version())を返し、PEP 8で定義されているため、他のほとんどのライブラリに続く標準です。Django 1.8
Boris

213

アプリケーションをインストールした場合:

$ django-admin.py version
2.0

2018年5月(この回答を再度テストした日付)では、2.0.1をインストールしたにもかかわらず、バージョンが1.11.5と表示されます。しかし>> django.VERSION、Pythonシェルでは正しいバージョンが表示されます
Alex Jolig

1
これは私にとってうまくいきました:ubuntu 18.04、virtualenv with P 3.6とDjango 2.2
Carmine Tambascia

1
ニースの仕事の偉大な
Phok Chanrithisak

97

Djangoプロジェクトのホームディレクトリに移動して、次の操作を行います。

./manage.py --version

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

IDLE(Python GUI)を使用しています。


41

あなたがピップを持っているなら、あなたもすることができます

ピップフリーズ
Djangoを含むすべてのコンポーネントバージョンが表示されます。

それをgrepにパイプして、Djangoバージョンのみを取得できます。あれは、

josh@villaroyale:~/code/djangosite$ pip freeze | grep Django
Django==1.4.3

36

のPython

import sys
sys.version

Djangoの場合(他の人がここで言及したとおり):

import django
django.get_version()

バージョンを確認するだけの潜在的な問題は、バージョンがアップグレードされるため、コードが古くなる可能性があることです。'1.7' <'1.7.1' <'1.7.5' <'1.7.10'であることを確認します。通常の文字列比較は、最後の比較で失敗します。

>>> '1.7.5' < '1.7.10'
False

解決策は、distutilsのStrictVersionを使用することです

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

2
django.VERSIONすでにタプルとして提供されているを使用するのはどうですか?私はそうdjango.VERSION >= (1, 8)することが常に意図したようにうまくいくと確信しています。
Flimm 2017

31

あなたがPythonの2つのバージョンを持っていると言うように、私はそれらが異なる仮想環境(例えば、envv)またはおそらくconda環境にあると仮定します

djangoをインストールしたときは、おそらく1つの環境だけでした。pythonのバージョンごとに1つずつ、2つの異なるバージョンのdjangoがある可能性があります。

Unix / Mac端末から、次のようにpythonバージョンを確認できます。

$ python --version

ソースを知りたい場合:

$ which python

そして、djangoのバージョンを確認するには:

$ python -m django --version

18

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

(なんらかの修正がある場合、または関連情報を追加したい場合は、この回答を自由に変更してください。)


10

Pythonシェルを使用して確認するには、次の手順を実行します。

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

Unix / Linuxシェルで1行で実行する場合は、次のようにします。

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

アプリケーションを開発したら、次を使用してバージョンを直接確認できます。

python manage.py runserver --version

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

python manage.py --versionNote the double を使用する必要があります-
Shawnzam

@Shawnzamはい、もちろんタイプミス..おかげで..回答の編集
Vishnu Kiran

6

DjangoはPYTHONPATH環境変数で指定されたバージョンのPythonを使用します。echo $PYTHONPATHシェルで使用して、使用するバージョンを決定できます。

Djangoが使用するモジュールバージョンは、PYTHONPATHで指定されたPythonのバージョンの下にインストールされたモジュールバージョンになります。


5

pip listLinuxターミナルで実行し、Djangoとそのバージョンをリストで見つけます

実行するpip freezeWindows上でcmdを上


4

Pythonがなくてもそれを行うことができます。これをDjangoディレクトリに入力するだけです:

cat __init__.py | grep VERSION

そして、あなたは次のようなものを得るでしょう:

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

1
これは、値を取得するためだけに仮想環境をアクティブ化したくない場合、またはAWS Elastic Beanstalkなどを使用していて、仮想環境をアクティブ化できない場合に最適です。
rjferguson 2015年

1
@rjferguson pip freeze/ を実行するために環境をアクティブ化する必要はありませんpython -c "import <module>; <module>.VERSION"。あなたは、単にそれを参照することができます/path/to/env/bin/python -c "<command>"かあなたは/使用ピップ、同じものをインストールする場合:/path/to/env/bin/pip freeze。私はイムは、ルートと自分のアプリケーションのコードの実行のすべてのようにログインし、特別とき、このすべての時間を使用するwww-data:私はsudo su www-data -c "/path/to/env/bin/pip install <module>"しても、点滅しません。(私はこれがほぼ2年後であることを知っています、そしておそらくあなたはそれについて今知っています-これは次の人のためのより多くです)
Javier Buzzi

> Pythonなし>> python -c
Alex Babak


4

Djangoバージョンまたはその他のパッケージバージョン

ターミナルまたはコマンドプロンプトを開く

タイプ

pip show django

または

pip3 show django

あなたはどんなパッケージバージョンも見つけることができます...

pip show tensorflow

pip show numpy 

等....


私はこの答えの単純さが一番好きです。pip freezeあなたがたくさんのパッケージをピップしたなら、たくさんの余分ながらくたを示します。
DukeSilver


3

私は最もパイソン的な方法だと思いました:

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

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



1

シェルプロンプトで次のコマンドを実行すると、djangoバージョンを取得できます

python -m django --version

Djangoがインストールされている場合は、バージョンが表示されます。そうでない場合は、「djangoという名前のモジュールはありません」というエラーが表示されます。


1

djangoをインポートしてから、次のようにprintステートメントを入力して、システムにインストールされているdjangoのバージョンを確認できます。

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

1

DjangoバージョンでサポートされているPythonバージョン

Django version     Python versions
1.0                2.3, 2.4, 2.5, 2.6
1.1                2.3, 2.4, 2.5, 2.6
1.2                2.4, 2.5, 2.6, 2.7
1.3                2.4, 2.5, 2.6, 2.7
1.4                2.5, 2.6, 2.7
1.5                2.6.5, 2.7 and 3.2.3, 3.3 (experimental)
1.6                2.6.5, 2.7 and 3.2.3, 3.3
1.11               2.7, 3.4, 3.5, 3.6, 3.7 (added in 1.11.17)
2.0                3.4, 3.5, 3.6, 3.7
2.1, 2.2           3.5, 3.6, 3.7

DjangoがPythonから見えることを確認するには、シェルからpythonと入力します。次に、PythonプロンプトでDjangoをインポートしてみます。

>>> import django
>>> print(django.get_version())
2.1
>>> django.VERSION
(2, 1, 4, 'final', 0)

0

入力するpython -m django --version か入力pip freezeするだけで、Djangoを含むインストール済みモジュールのすべてのバージョンが表示されます。


これが反対投票される理由はまったくありません。これは最も簡潔な回答の1つです。
tfantina

なぜこれは反対投票ですか?
アジマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.