Djangoのバージョンの確認方法4つ: pip, モジュール, VERSION, django-admin

311, 2021-08-23

目次

Djangoのバージョンの確認方法4つ

Djangoもフレームワークなのでバージョンと言うものが存在します。
バージョンとはソフトウェアに付けられる番号のことを言います。

この記事ではDjangoのバージョンの確認方法を4つ紹介します。
具体的に言うと↓の4つになります。

  • pipを使ったバージョン確認方法

  • pythonインタプリタを使ったバージョン確認方法

  • djangoをインポートして行うバージョン確認方法

  • django-adminを使ったバージョン確認方法

pipを使ったバージョン確認方法

Djangoはpipなどのパッケージマネージャーでインストールし管理するのが一般的です。
pipで管理しているDjangoのバージョンを確認するには↓のようにコマンドを実行します。

$ pip freeze | grep Django
Django==3.1.7

pip freezeというコマンドはpipで管理しているインストール済みのパッケージの一覧をバージョン番号付きで表示します。
その出力をパイプしてgrep DjangoDjangoのパッケージ名を抽出することでDjangoのバージョンを表示することが出来ます。

またpip showコマンドにDjangoを指定してもバージョンを確認できます。
pip showはパッケージの情報を出力するコマンドです。

$ pip show Django
Name: Django
Version: 3.1.7
Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
... 省略

pythonインタプリタを使ったバージョン確認方法

環境にDjangoがインストールされている場合は、Pythonインタプリタを使ってもバージョンを確認することが出来ます。
↓のようにコマンドを実行します。

$ python -m django --version
3.1.7

Pythonインタプリタ(python)のショートオプション-mdjangoを指定すると、インストールされているDjangoをスクリプトとして実行することができます。
djangoはスクリプトとして実行した場合、--versionというロングオプションの指定が有効になります
--versionはDjangoのバージョンを表示するコマンドなので、実行すると↑のようにバージョンが表示されます。

djangoをインポートして行うバージョン確認方法

Pythonインタプリタを対話モードで起動し、djangoをインポートしてdjango.VERSIONを参照するとバージョンを確認することが出来ます。

$ python
Python 3.8.1 (default, Apr 17 2020, 22:37:05)
[GCC 10.0.0 20191202 (experimental)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(3, 1, 7, 'final', 0)
>>>

↑の場合は(3, 1, 7, ...)となっているので、バージョンは3.1.7になります。

Pythonインタプリタを対話モードで起動しなくてもショートオプションの-cを指定して↓のようにコードを実行すれば、同様の結果を得ることが出来ます。

$ python -c "import django; print(django.VERSION)"
(3, 1, 7, 'final', 0)

ちなみにVERSIONのほかには__version__という属性もあります。
これを参照してもDjangoのバージョンを参照することが出来ます。

$ python -c "import django; print(django.__version__)"
3.1.7

django-adminを使ったバージョン確認方法

環境にDjangoがインストールされている状態ではdjango-adminコマンドを使うことが出来ます。
このコマンドのロングオプション--versionを使うとDjangoのバージョンを表示することが出来ます。

$ django-admin --version
3.1.7

Djangoのバージョンはどこに書かれているのか?

Djangoのバージョンはソースコード上ではどこに書かれているのでしょうか?
Djangoのバージョンはdjango/__init__.pyの中に書かれています。

ファイルの先頭に書かれているVERSIONというタプルがバージョンの正体です。

おわりに

バージョンはソフトウェアの開発では非常に重要になってくる概念です。
Djangoのバージョンをいつでも把握できるようにしておきたいところです。

僕のバージョンは0.3.8だよ

おっさんや・・・