Python 3 系移行のための仮想環境構築(MacOSX + Homebrew + Virtualenv)
はじめに
今回は Python 3 系への移行を念頭に置いて、Python 用の仮想環境の構築についてあれこれ調査した。具体的には2系と3系のうまいこと同居させて、パッケージ管理をきちんと行えるような環境を作る。なおMac(パッケージ管理はHomebrew)環境を対象としています。Linux系もパッケージ管理(aptやyum)の部分だけ置き換えれば基本的にはどうにかなるはず。
Python 2 と 3 のインストール
Homebrewを利用して Python 2系と3系をインストール。その後、デフォルトでインストールしてあるPythonではなく、HomebrewでインストールしたPythonが起動するようにする。既にPythonがHomebrewでインストールされている場合は、先に$ brew upgrade
で最新版に更新しておく。以下のコマンドを実行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
2系(コマンド: python)と3系(コマンド: python3)のインストール完了。 ちなみに、bashだと問題ないが、zsh 環境だとOSにデフォルトでインストール済みの方のPythonが起動してしまった。その場合、.zshrcに/usr/local/binを先に読むように、以下を記述する必要あり。
1
|
|
仮想環境の構築
Python 2 系ではPython本体のバージョン管理はHomebrewに任せて、 pip + virutalenv でモジュール等を管理するのが一番楽だった。
Python 3.3 から venv (コマンド: pyvenv)という virtualenv と似た機能が追加された。が、2 系と環境を共存させるとなると面倒。 virtualenv が 3 系にも対応してるようなので、こちらを使うほうが良さそう。なので 2 系のときと同じく pip + virutalenv で環境を構築する。ベースのPythonインタープリタは2系のものを使うことにする。以下のコマンドを実行。
1 2 3 4 |
|
bash の場合 .bachrc に、zsh の場合 .zshrc に以下を記述
1 2 3 4 |
|
リロードする。
1
|
|
仮想環境で作業する際には、以下の5つのコマンドを覚えておけばとりあえずはOK。
$ mkvirtualenv ENV_NAME
で仮想環境作成
$ workon
で仮想環境の一覧確認
$ workon ENV_NAME
で指定の環境に入る
$ deactivate
で仮想環境から脱出
$ rmvirtualenv ENV_NAME
で仮想環境削除
テスト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
これで Python 2 系は問題なし。Python 3 系を使いたい場合、--python /usr/local/bin/python3
オプションを指定すれば良い(筆者の環境だと--python python3
でも問題なし)。
1 2 3 4 5 6 7 8 9 10 11 |
|
これで2系と3系、それぞれで仮想環境を自由に切り替えられる。あとは仮想環境下に入って pip で必要なモジュールをインストールすればOK。