私たちのアプリケーションには Python と Django を使わなければなりません。だから私はPythonの2つのバージョン、2.6と2.7があります。今私はDjangoをインストールしました。私はDjangoをテストするためのサンプルアプリケーションをうまく実行することができました。しかし、Djangoが2.6と2.7のどちらのバージョンを使用しているのか、またDjangoが使用しているモジュールのバージョンを確認するにはどうすればよいですか?
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
アプリケーションをインストールした場合
$ Django-admin.py version
2.0
Django projectホームディレクトリに移動して、次の操作を行います。
./manage.py --version
>>> import Django
>>> print(Django.get_version())
1.6.1
私は _ idle _ (Python GUI)を使っています。
pip がある場合は、
ピップフリーズ
あなたはちょうどDjangoバージョンを得るためにgrepを通してそれをパイプ処理することができます。あれは、
josh@villaroyale:~/code/djangosite$ pip freeze | grep Django
Django==1.4.3
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-admin.py version
Djangoがインストールされていれば、現在のバージョン(例えば1.6.5
)を表示します
それ以外の場合、シェルはエラーメッセージを表示します。
あなたが2つのバージョンのpythonを持っていると言うように、私はそれらが異なる 仮想環境 (例えばvenv)あるいはおそらく conda環境 にあると思います。
Djangoをインストールしたときは、たぶん1つの環境しかありませんでした。あなたは2つの異なるバージョンのDjangoを持っている可能性があります。1つはそれぞれのバージョンのPython用です。
Unix/Mac端末から、あなたは以下のようにあなたのpythonバージョンをチェックすることができます:
$ python --version
出典を知りたい場合:
$ which python
そしてDjangoのバージョンを確認するには:
$ python -m Django --version
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
import Django django.get_version()
OR Django.VERSION
from Django.utils import version version.get_version()
OR version.get_complete_version()
import pkg_resources pkg_resources.get_distribution('Django').version
(あなたが何らかの修正をしていたり、より関連情報を追加したい場合は、この答えを自由に修正してください。)
Django-admin --version
python manage.py --version
pip freeze | grep Django
コンソールに移動して次のように入力します。
Django-admin --version
_アップデート_
最近私は気が付いたのですが、正しい方法はpython Shellを使ってバージョンを確認することです。
$ python
>> import Django
>> 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
lINUX TERMINALでpip list
を実行し、リストにあるDjangoとそのバージョンを見つけます。
windowsのcmdでpip freeze
を実行する
DjangoはPYTHONPATH環境変数で指定されたバージョンのPythonを使います。シェルでecho $PYTHONPATH
を使用して、どのバージョンを使用するのかを決定できます。
Djangoが使用するモジュールバージョンは、PYTHONPATHで指定されたバージョンのPythonの下にインストールされているモジュールバージョンです。
文書化されていないutilsバージョンモジュールがDjangoにあります
https://github.com/Django/django/blob/master/Django/utils/version.py
それを使用すると、文字列または詳細バージョンTupleとして通常のバージョンを取得することができます。
>>> 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
そして、あなたは次のようになるでしょう。
VERSION = (1, 5, 5, 'final', 0)
私は最もPythonicの方法がであると思った:
>>> 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
Django 1.0以降は、これを実行できます
$ Django-admin --version
1.11.10
Pythonシェルで次のコマンドを入力してください
import Django
django.get_version()
シェルプロンプトで次のコマンドを実行すると、Djangoのバージョンを入手できます。
python -m Django --version
Djangoがインストールされていれば、そのバージョンが表示されるはずです。そうしないと「No module named Django」というエラーが表示されます。
もしあなたが仮想環境で作業しているならば、ピップフリーズはあなたがこれを使用することができるかどうかあなたに言うでしょう
Django-admin --version
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をインポートしてから、下記のようにprintステートメントをタイプしてDjangoのバージョン、すなわちあなたのシステムにインストールされていることを知ることができます
>>> import Django
>>> print(Django.get_version())
2.1