なぜ仮想環境が必要なのか?
プログラミングをする際は、そのアプリ専用の仮想環境を作って開発をします。
開発環境やら仮想環境やら色々あるな・・・と思ったかもしれませんが、ここからは簡単なので安心してください。
なぜ仮想環境が必要なのかを画像にしました。

仮想環境があれば、どのアプリでどの部品が使われているか分かったり、アプリが不要になった時にそのフォルダを消すだけで、不要な部品も同時に削除することができます。
モジュールとは?
何かの機能を指しています。
算数で例えてみましょう。
- 三角形の面積を計算してくれる機能(モジュール)
- 正方形の面積を計算してくれる機能(モジュール)
- 面積を求める色んな計算式モジュールの集まり(パッケージ)
- 面積だけでなく、算数や数学の色んな計算式(パッケージ)がセットになっているもの(ライブラリ)
モジュールが集まったものがパッケージ、パッケージがセットになったものがライブラリです。
仮想環境の作り方
仮想環境を作るツールはいくつかあるのですが、このサイトではPythonに元から組み込まれている「venv(ブイエンブ)」を使っていきます。
ここからは、Visual Studio Code(VScode)のターミナルを使ってやっていきましょう!
まだVScodeを持ってない方は「Visual Studio Code公式ページ」からダウンロードしてください。
VScodeを開くと、上のメニューに「Terminal(ターミナル)」と書いてあるはずなので、そこから「New Terminal」を開いて下さい。macの場合「command + J」でも起動できます。
するとVScode内にターミナルが出てきますのでそこで操作していきます。
仮想環境用のディレクトリを作成
パソコンのどこかに仮想環境用(アプリ用)のディレクトリ(フォルダ)が必要なので作っておきます。
分かりやすいのでデスクトップに作っちゃいましょう。
MacBook:~ NOIZMOON$ cd desktop
MacBook:desktop NOIZMOON$ mkdir app1
このコマンドでは「cd desktop」でdesktopに移動して、「mkdir app1」でapp1というディレクトリを作成するという操作をしています。mkdirは「make directory(メイク・ディレクトリ)」の略です。
app1に仮想環境を作成
デスクトップにapp1というディレクトリを作成できたので、次はapp1の中に仮想環境を作っていきます。
仮想環境を作るコマンドは「python -m venv 仮想環境の名前」です。
この記事では、仮想環境の名前を「myenv(マイエンブ)」とします。
MacBook:desktop NOIZMOON$ cd app1
MacBook:app1 NOIZMOON$ python -m venv myenv
このコマンドだけで仮想環境の作成ができます。あとは今作った仮想環境を有効化しましょう。
「source 仮想環境の名前/bin/activate」で有効化できます。
$ source myenv/bin/activate
すると、先頭に(myenv)と表示されたと思います。
(myenv) MacBook:app1 NOIZMOON$
Djangoで開発をしている時は、必ず先頭に(仮想環境名)がついた状態で開発しましょう。
pipコマンドを覚える
仮想環境でPythonのパッケージをインストールしたり削除したりするには「pip(ピップ)」というコマンドを使います。ピッピじゃありません笑
「pip install パッケージ名」で指定したパッケージをインストールすることが出来ます。
以前「homebrew」や「pyenv」を使ってインストールした時と似ていますね!
先頭で何を使ってインストールするかを指定し、installの後に名前を書くという構造になっています。
$ brew install *****
$ pyenv install *****
$ pip install *****
では、出来たてホヤホヤの仮想環境に何が入っているか「pip list」で確認してみましょう。
(myenv)$ pip list
Package Version
---------- -------
pip 20.2.3
setuptools 49.2.1
WARNING: You are using pip version 20.2.3; however, version 22.2.2 is available.
You should consider upgrading via the '/Users/ユーザー名/Desktop/myenv/bin/python -m pip install --upgrade pip' command.
バージョンは違うかもしれませんが「pip」と「setuptools」が入っていると思います。
さらに初期状態の仮想環境には、古いpipとsetuptoolsが入っていると思うのでWARNINGが出ているはずです。
WARNINGが出てなければ最新なので次の項目へ進みましょう!
このWARNINGには「pipが古いからアップグレードを検討してね〜」という内容が書かれているので、アップグレードしちゃいます。
(myenv)$ pip install --upgrade pip setuptools
このコマンドは「pip」と「 setuptools」の2つを同時にアップグレードしています。
もう一度pip listで確認するとWARNINGが消えているはずです。
(myenv)$ pip list
Package Version
---------- -------
pip 22.2.2
setuptools 65.3.0
仮想環境作成手順まとめ
この一連の作業はやってたら慣れるので、無理に覚える必要はありません。
最初のうちは、メモ帳にメモしておいてコピペで使っちゃいましょう!
# ディスクトップに移動
$ cd desktop
# app1のディレクトリを作成
$ mkdir app1
# app1に移動
$ cd app1
# myenvという名前の仮想環境を作成
$ python -m venv myenv
# myenvを有効化
$ source myenv/bin/activate
# pipとsetuptoolsをアップグレード
(myenv)$ pip install --upgrade pip setuptools
まとめ
- 開発をする時は仮想環境を作成する
- アプリごとに仮想環境を作成する
- 先頭に(env)が表示されている状態で開発する
- 開発環境作成の手順は無理に覚えず最初はコピペでOK
次は、ちょっと寄り道してVScodeを日本語化したり便利にしていきます。