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

2011-06-24 python django

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

Answers

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

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

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

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

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

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

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

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

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

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

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

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

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

$ django-admin.py version
2.0

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

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

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

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

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

python manage.py runserver --version
>>> import django
>>> print(django.get_version())
1.6.1

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

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

./manage.py --version

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

cat __init__.py | grep VERSION

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

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

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

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

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

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

ドキュメントに記載されていない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)

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

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

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

$ python --version

ソースを知りたい場合:

$ which python

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

$ python -m django --version

LINUX TERMINALでpip listを実行し、Djangoとそのバージョンをリストで見つけます

Windowsのcmdでpip freezeを実行します

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

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

python -m django --version

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

Pythonシェルで次のコマンドを入力します

import django
django.get_version()

django 1.0の後はこれを行うことができます

$ django-admin --version
1.11.10

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() import django django.get_version()または django.VERSION
  2. from django.utils import version version.get_version() from django.utils import version version.get_version()またはversion.get_complete_version()
  3. import pkg_resources pkg_resources.get_distribution('django').version import pkg_resources pkg_resources.get_distribution('django').version

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

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

>>> import django
>>> print(django.get_version())
2.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)

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

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

タイプ

pip show django

または

pip3 show django

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

pip show tensorflow

pip show numpy 

等....

単にpython -m django --versionまたはpip freezeと入力して、Djangoを含むインストール済みモジュールのすべてのバージョンを確認します。

CMDまたは端末を入力します。

python -m django --version

Related