Django を起動する前に、当然ながら Python インタープリタをインストールする必要があります。
Django をインストールする方法は様々です。それでは、おすすめの方法を見ていきましょう。
Django のパッケージは、ほとんどの Python パッケージの中央リポジトリ – Package Index (PyPI) に置かれています。そして、このリポジトリからインストールするためには、pipパッケージマネージャが必要です。pipマネージャは、パッケージのダウンロードと管理を行うことができます。通常、pythonをインストールすると、pipマネージャもインストールされます。この場合、コマンドライン/ターミナルでpip3 -V(Vは大文字)を実行することで、マネージャのバージョンを確認することができます。
cb2013-02@cb2013-02s-MacBook-Air ~ % pip3 -V
pip 20.2.3 from /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9)
cb2013-02@cb2013-02s-MacBook-Air ~ %
仮想環境 (venv) は、Django の開発に不可欠な要素ではありません。しかし、1つのOS上で複数のPython仮想環境を構築できるため、利用することをお勧めします。仮想環境のおかげで、アプリケーションは他のPythonアプリケーションから独立して実行することができます。
原理的には、仮想環境無しで Django アプリケーションを実行することが可能です。この場合、すべての Django パッケージはグローバルにインストールされます。しかし、最初のアプリケーションを作成した後に、Django の新バージョンが出たらどうでしょう?もし、2つ目のプロジェクトで新しいバージョンの Django を使いたい場合、グローバルパッケージのインストールがあるため、古いバージョンを使っている1つ目のプロジェクトを更新する必要があります。パッケージ間の後方互換性は必ずしも尊重されないため、この場合、いくつかの追加アップグレード作業が必要になります。もし、2つ目のプロジェクトで旧バージョンを使うことになれば、新バージョンの潜在的な利点を失うことになる。そして、仮想環境を使うことで、まさにプロジェクトごとにパッケージを差別化することができるのです。
Pythonは仮想環境を扱うために組み込みのvenvモジュールを使用します。
そこで、仮想環境を作ってみましょう。まず、django プロジェクトのためのディレクトリを定義しましょう。例えば、~/djangoディレクトリとします。mkdirコマンドを使って~/djangoディレクトリを定義してみましょう。
cb2013-02@cb2013-02s-MacBook-Air ~ % mkdir ~/django
cb2013-02@cb2013-02s-MacBook-Air ~ %
まず、ターミナル/コマンドラインで、cdコマンドを使ってこのディレクトリに移動してみましょう。
cb2013-02@cb2013-02s-MacBook-Air ~ % cd ~/django
cb2013-02@cb2013-02s-MacBook-Air django %
次に、以下のコマンドを実行して、仮想環境を作成します。
cb2013-02@cb2013-02s-MacBook-Air django % python3 -m venv env
venvモジュールには環境名が与えられ、この場合は「env」と呼ばれます。仮想環境の名称には特に決まりはありません。コンソール出力の一例。
cb2013-02@cb2013-02s-MacBook-Air ~ % mkdir ~/django ディレクトリを定義する
cb2013-02@cb2013-02s-MacBook-Air ~ % cd ~/django 将来の仮想環境のフォルダーに移動する
cb2013-02@cb2013-02s-MacBook-Air django % python3 -m venv env 仮想環境の作成
これにより、現在のフォルダ(~/django)内に「env」サブフォルダが作成されます。
仮想環境を利用するためには、起動する必要があります。そして、Django プロジェクトで作業するたびに、関連する仮想環境を起動する必要があります。例えば、上記で作成した環境(ディレクトリのenvフォルダにある)を起動します。アクティベーションの方法は、OSや使用するツールによって若干異なります。例えば、Windowsでは、コマンドラインとPowerShellを使うことができますが、両者には違いがあります。
OSがWindowsの場合、env/Scripts/フォルダに仮想環境を有効にするactivate.bat)というファイルがあります。つまり、Windowsの場合、コマンドラインで仮想環境を起動すると、次のようになります。
env\Scripts\activate.bat
また、Windowsで作業する場合、env/Scripts/フォルダにactivate.ps1というファイルがあり、これも仮想環境を有効にしますが、PowerShellにのみ適用されます。しかし、PowerShellで作業する場合、デフォルトではこのシェルでスクリプトを適用することはできないので、注意してください。そのため、環境を起動する前に、現在のユーザーに対してパーミッションを設定する必要があります。そのため、PowerShellで仮想環境を有効にするには、次の2つのコマンドを実行する必要があります。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
env\Scripts\Activate.ps1
Linux、MacOSの場合、アクティベーションは以下のコマンドで行います。
source env/bin/activate
以下では、MacOSのコマンドラインをベースにした例を挙げますが、それ以外の例は、PowerShellかコマンドラインか、WindowsかLinuxかMacOSかには関係なく、使用できます。いずれの場合も、アクティベーションに成功すると、カレントディレクトリの左側の括弧内に仮想環境名が表示されます。
cb2013-02@cb2013-02s-MacBook-Air ~ % mkdir ~/django
cb2013-02@cb2013-02s-MacBook-Air ~ % cd ~/django
cb2013-02@cb2013-02s-MacBook-Air django % python3 -m venv env
cb2013-02@cb2013-02s-MacBook-Air django % source env/bin/activate 仮想環境の起動
(env) cb2013-02@cb2013-02s-MacBook-Air django % 仮想環境起動
Django の仮想インストール環境を有効にした後、コンソールで以下のコマンドを実行します。
(env) cb2013-02@cb2013-02s-MacBook-Air django % pip install django
最新版のDjangoがインストールされます。
Collecting django
Downloading Django-4.1.1-py3-none-any.whl (8.1 MB)
|████████████████████████████████| 8.1 MB 2.6 MB/s
Collecting sqlparse>=0.2.2
Downloading sqlparse-0.4.3-py3-none-any.whl (42 kB)
|████████████████████████████████| 42 kB 14.5 MB/s
Collecting asgiref<4,>=3.5.2
Using cached asgiref-3.5.2-py3-none-any.whl (22 kB)
Installing collected packages: sqlparse, asgiref, django
Successfully installed asgiref-3.5.2 django-4.1.1 sqlparse-0.4.3
もし、特定のバージョンの Django に興味があるなら、インストール時に指定することができます。
(env) cb2013-02@cb2013-02s-MacBook-Air django % pip install django==4.0.0
Collecting django==4.0.0
Using cached Django-4.0-py3-none-any.whl (8.0 MB)
Requirement already satisfied: asgiref<4,>=3.4.1 in ./env/lib/python3.9/site-packages (from django==4.0.0) (3.5.2)
Requirement already satisfied: sqlparse>=0.2.2 in ./env/lib/python3.9/site-packages (from django==4.0.0) (0.4.3)
Installing collected packages: django
Attempting uninstall: django
Found existing installation: Django 4.1.1
Uninstalling Django-4.1.1:
Successfully uninstalled Django-4.1.1
Successfully installed django-4.0
すべてが正しくインストールされていることを確認するために、pythonインタプリタに移動します。そのためには、ターミナルで次のコマンドを入力します。
(env) cb2013-02@cb2013-02s-MacBook-Air django % python
そして、次の2つの指示を順番に実行してください。
>>> import django
>>> print(django.get_version())
4.1.1
>>>
仮想環境が完成したら、コマンドで停止させます。
(env) cb2013-02@cb2013-02s-MacBook-Air django % deactivate
cb2013-02@cb2013-02s-MacBook-Air django %
関連記事