仮想環境の構築

仮想環境の構築について

Djangoを始めるのはとてもシンプルで簡単です。
Djangoをインストールして、数行のコマンドをターミナルやコマンドプロンプトに打つだけでDjangoの開発を始めることができます。

しかしその開発のためにほぼ必ずやっておいたほうがいいことがあります。
それが開発するサービスごとにパッケージやライブラリ等を扱う環境を分けることです。これは実際、サービスをデプロイする際にも推奨されています。

Dockerを使用する方法や他の方法も存在しますが、ここでは一番シンプルで理解しやすいvirtualenvを用いた開発環境の構築について触れていきます。

virtualenvとは?

virtualenvは Virtual Environmentの略でそのまま仮想環境という意味です。
virtualenvを使うことで開発しているサービスごとにパッケージを分けることができます。

例えば、サービスAではDjango2.2で、サービスBではDjango3.1で開発を行うといったことが可能です。

もしvirtualenvを使用しなければ、自分のPCで共通のDjangoをインストールしないといけないので、全てのサービスのDjangoやその他ライブラリ等のバージョンが同じになってしまいます。そうなるとデプロイするときや後々の開発で前に開発していたサービスが動かなくなるといったことが起こったりします。

virtualenvのフロー

virtualenvを組み込んで開発を行うフローはシンプルです。

  1. virtualenvをPythonのパッケージインストールライブラリ pip でインストール
  2. virtualenvに入る
  3. Djangoやその他のライブラリをインストール
  4. 開発が終わったらvirtualenvから抜ける

以上です。

virtualenvを扱うために

virtualenvを扱うためにpipというPythonのパッケージインストールライブラリが必要になります。とはいえ、PythonがすでにPCに入っていれば標準で pipを使うことができます。

pipが使えるかどうか確認するには以下のコマンドをターミナルに打ちましょう。

pip -V
# 出力
pip 20.2.2

Python3が入っているのに上記のコマンドでエラーが出る場合、pipをインストールする必要があります。

pipが使用可能であればvirtualenvのインストールはすごく簡単です。

virtualenvのインストール

ターミナルを開き、以下のコマンドを打てばvirtualenvをインストールできます。

pip install virtualenv

これでvirtualenvがインストールできました。

次にvirtualenvを使用して仮想環境を作成しましょう。
仮想環境の名前を設定する必要がありますが、ほとんどの場合、myvenvという名前が使われます。

virtualenv myvenv

これで現在のディレクトリにmyvenvという名前の仮想環境が構築されたはずです。
以下のコマンドで確認ができます。

ls
# 出力
myvenv 

仮想環境の中に入る

仮想環境の作成ができたので実際に仮想環境に入ってみます。
仮想環境に入るコマンドは完全に定型なので覚えておきましょう。

  • 仮想環境に入るコマンド
    source 仮想環境名/bin/activate
source myvenv/bin/activate

これでターミナルの現在の行の先頭に (myvenv) という名前がついたと思います。これは現在 myvenvという仮想環境に自分が入っているということになり、この状態でライブラリ等をインストールすると myvenvの仮想環境内にのみライブラリ等がインストールされます。

以下のコマンドで仮想環境から抜けることができます。

deactivate

これで先頭の (myvenv) という名前が消えました。仮想環境から抜けたという意味です。

以下の3つのコマンドはぜひ覚えておきましょう。

// 仮想環境の作成
virtualenv myvenv

// 仮想環境に入る
source myvenv/bin/activate

// 仮想環境から出る
deactivate

仮想環境はDjangoだけでなく他の開発においても活用できるので使い慣れておくと良いでしょう。