【Mac】virtualenvで仮想環境を構築し、Pythonのバーションを指定する方法

今回はMacでvirtualenvによる仮想環境で、任意のPythonのバージョンをインストールする方法を紹介します。

Pythonのバージョンは2.x系と3.x系で構文の書き方が違ったり、使用できるライブラリが変わってきます。

そのため、目的に応じてどちらのバージョンを使うのかを決められることが理想です。

また、Macには2.x系はデフォルトで入っているので、新たに3.x系をインストールしてコマンドで使い分けるという方法でバージョンを使い分けます。

 

仮想環境の構築について

開発するサービスがそれなりの規模になったり、複数のツールが必要となる場合には仮想環境を分ける必要が出てきます。

この仮想環境を整えるために、環境構築にはvirtualenvを使用します。

また、virtualenvのラッパーにvirtualenvwrapperというライブラリがあるのですが、こちらを使用することもできます。

virtualenvwrapperはvirtualenvを内包し、さらに使いやすくしたという感じです。

 

Pythonのバージョン確認

まずはMacにデフォルトでインストールされているPythonのバージョンを確認してみましょう。

Pythonのバージョンを確認するには以下のコマンドを入力します。

$ python -V
Python 2.7.10

 

インストール先も確認しておきましょう。

$ which python
/usr/bin/python

 

Python3.x系をインストール

Pythonの3.x系はhomebrew経由でインストールします。

$ brew install python3

 

インストール先も確認しておきます。

$ which python3
/usr/local/bin/python3

 

Python3.x系のバージョンを確認します。

$ python3 -V
Python 3.6.4

 

無事Pythonがインストールされていますね。

 

virtualenvで環境構築

virtualenvをpip経由でインストールします。

$ pip install virtualenv

 

今回はあくまでテスト用なので、適当なディレクトリを作成してその中に入れます。

$ mkdir test
$ cd test

 

virtualenvのコマンドを使ってPython3.x系の環境を構築します。

homebrewでPython3.x系をインストールした際にコマンドのパスが通ったはずなので、そのコマンドを利用してPythonのバージョンを指定します。

$ virtualenv -p python3 test_env
virtualenv -p [Pythonのコマンド] [作成する環境名]

 

上記以外の方法だと、そのままパスを指定する方法でも構いません。結果は同じものが得られます。

パスを直接指定した書き方↓

$ virtualenv --python=/usr/local/bin/python3 test_env

 

仮想環境はvirtualenvコマンドを実行したディレクトリに新しいフォルダとして構築されているので、そのディレクトリに移動しましょう。

$ cd test_env

 

環境を起動する時は以下のコマンドを叩きます。

$ source bin/activate

 

起動に成功するとユーザー名の前に環境の名前が(test_env)のように表示されます。

仮想環境内では先ほど指定したPythonのバージョンが使用できます。

 

仮想環境を終了するには以下のコマンドを入力します。

$ deactivate

 

virtualenvwrapperについて

virtualenvwrapperを使っても同じように環境構築をすることができます。

こちらを使う場合、以下のように入力すると環境構築ができます。

$ mkvirtualenv test_env

 

virtualenvwrapperを使うと複数の仮想環境を作る場合の管理がラクになったり、切り替えが簡単になります。

一応使わなくても環境を作ることはできますが、使った方が後々ラクになるかもしれませんね。

興味のある人はこちらも試してみると面白いと思います。