【Macユーザー必見】Pythonのvenvによる仮想環境構築ガイド

# はじめに
本記事では、**Macユーザー向け**にPythonの仮想環境ツール「**venv**」を使って開発環境をサクッと構築する方法を解説していきます。初学者でも実践しやすいよう、仮想環境の基本的な考え方から実際の操作手順までを順を追って説明するので、ぜひ活用してみてください。

なお、今回の内容が「役に立った！」と思ったら、ぜひいいねを押してください。いいね数が多ければ、Windows版の記事も続編として作成する予定です。みなさんの反応が次の記事のやる気に繋がるので、応援よろしくお願いします。

XでもPythonやデータサイエンスに関する情報発信を行っているので、フォローしていただけると嬉しいです。

https://x.com/tarantula_ds_/

# 仮想環境とは
![仮想環境_page-0001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3584936/c374911d-9456-6db9-e955-2422b2ba459c.jpeg)

### そもそも「仮想環境」ってなに！？
仮想環境とは、プロジェクトごとに独立したPythonの実行環境を作る仕組みのことです。Python本体や各種ライブラリをプロジェクト専用のディレクトリにインストールすることで、他のプロジェクトやシステム全体に影響を与えずに開発を進めることができます。

普段、macOSにデフォルトでインストールされているPythonや、自分でインストールしたPythonに直接ライブラリを追加していくと、「他のプロジェクトで使うPythonのバージョンを変更できない」「古いライブラリが残っていて邪魔になる」などのトラブルが起こりがちです。そこで仮想環境を活用することで、それぞれの開発環境をすっきり切り分けることができます。

### なぜ必要なのか
仮想環境が必要な理由としては３つほど考えられます。
1. **ライブラリのバージョン衝突を防ぐ**
例えば、あるプロジェクトではDjango 3.xを使いたいのに、別のプロジェクトではDjango 2.xが必要な場合、同じ環境にインストールしてしまうと共存できません。仮想環境を使うことで、プロジェクトごとに異なるバージョンのライブラリを使えるようになります。

1. **システム全体に影響を与えない**
システムのPythonに直接パッケージをインストールしてしまうと、OSで使われているPython環境を壊してしまう可能性があります。仮想環境を作っておけば、その中だけでライブラリを管理できるため、本体のPythonやシステムに干渉しないで済みます。
1. **開発環境の再現性が上がる**
「このプロジェクトを動かすためには、Python 3.10 と パッケージ X のバージョン Y が必要！」といった要件を手軽に固定化し、後から再現しやすくなります。チーム開発であれば、みんなが同じ環境を作れるため、プロジェクトの再現性や保守性が飛躍的に向上します。

### 仮想環境構築方法の一覧
実は、Pythonの仮想環境を作る方法はいくつかあります。ここでは主な選択肢を４つ紹介します。venv以外の構築方法が気になる方は、ぜひ調べてみてください。
![仮想環境種類_page-0001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3584936/a056fd3e-b500-3ab9-0fc8-afdbd381e875.jpeg)

# venv仮想環境構築方法
それでは、ここからは実際にターミナルを使って、Mac上でPythonの仮想環境(venv)を構築していく手順を説明します。Python 3.3以降であれば標準で利用できるため、追加ツールのインストールなしに始められます。
### 1. Pythonのバージョンを確認する
まずは、MacにインストールされているPythonのバージョンを確認しましょう。
ターミナルで以下のコマンドを実行します。
```bash
python3 -V
```
標準でPython 2系がインストールされている場合は、pythonコマンドを実行するとPython2が起動してしまうことがあります。そのため、Python3系を利用する場合は必ずpython3コマンドを使うようにしてください。

もしPythonがインストールされていない、以下のサイト等を参考にインストールしてみてください。

https://prog-8.com/docs/python-env

### 2. 新しいディレクトリを作成(任意)
プロジェクトごとに独立した環境を作るために、まずはプロジェクト用のディレクトリ(フォルダ)を作成すると整理しやすいです。すでに作業用のディレクトリがある場合は、このステップはスキップして構いません。

```bash
mkdir my_project
cd my_project
```

### 3. venvコマンドで仮想環境を作成する
次に、``venv`` を使って仮想環境を作成します。``myvenv``や``env``など、好きな仮想環境の名前を付けましょう。
```bash
python3 -m venv env
```
上記のコマンドを実行すると、指定した名前（ここでは``env``）というフォルダが作成され、仮想環境に必要なファイル一式が配置されます。

### 4. 仮想環境を有効化(アクティベート)する
仮想環境を使い始めるには、以下のコマンドで**環境をアクティベート**（有効化）します。

```bash
source env/bin/activate
```

このコマンドを実行すると、ターミナルのプロンプト左側に``(venv)``のような表示がつき、仮想環境上にいることがわかります。この状態で``python -V``や``pip list``を実行すると、仮想環境内のPythonやpipが使われるようになります。

### 5. pipやライブラリをアップグレード・インストールする
仮想環境がアクティベートされた状態で、ライブラリをインストールします。まずはpipを最新にしておきましょう。
```bash
python -m pip install --upgrade pip
```
その後、開発に必要なライブラリ（例：``requests``）を入れてみましょう。
```bash
pip install requests
```
このようにインストールしたライブラリは仮想環境の中だけに保存されるので、システム全体には影響しません。

### 6. 仮想環境を修了(ディアクティベート)する
開発を終えたら、仮想環境を終了（デアクティベート）します。これには以下のコマンドを使います。
```bash
deactivate
```
これでターミナルのプロンプト左側から``(venv)``が消え、システムのPythonに戻ったことがわかります。

以上が、Mac環境でのPython仮想環境（venv）の基本的な構築・利用方法です。次は実際にプロジェクトを作りながら、「仮想環境があるとここが便利だな」というところを体感してみてください。必要なときに簡単に切り替えができるので、複数のプロジェクトを同時に進める場合などに大いに役立ちます。
# おわりに
最後まで読んでいただき、ありがとうございます。ここまで解説してきたように、venvを使った仮想環境の構築は、プロジェクトごとにPythonのバージョンやライブラリを切り分け、開発環境をスッキリ管理するために非常に有効な方法です。ぜひ今後のプロジェクト開発に活用してみてください。

また、本記事が「役に立った！」と思われた方は、ぜひいいねを押していただけると嬉しいです。いいね数が多ければ、**Windows版の仮想環境構築に関する記事**の執筆も検討します！
（Windows版ではコマンドや環境変数設定など、macOS版とは少し異なる手順になる点があります。）

それでは、皆さんが快適なPythonライフを送れますように。最後までお読みいただき、ありがとうございました！