前回
Mac OS Xで複数バージョンのPythonを利用する(1)複数Verインストール編
はhomebrewを使って, バージョンごとにPythonをインストールする手法を記載しました。
ではそれらを具体的に使ってPythonの実行環境を作るところまでをやっていきます。
前提
開発のスタイルには色々あると思うんですが, Pythonに関しては「グローバル環境は使わず, virtualenvを使ってプロジェクトごとに固有の環境を構築して利用する」が現状では楽なんじゃないかと思っています。
#Python3.3から公式で個別の環境構築が可能になってきているので, いずれそちらに移行していくかもしれません。
virtualenvとは?
virtualenvとは独立したPythonの実行環境を, グローバルのものとは別にいくつも構築することのできるツールです。
Pythonのバージョンのみならず各種必要なライブラリ等もこの環境ごとに別にできるので, プロジェクト毎にvirtualenvで作った環境を個別に用意し, 商用でのデプロイまで含めてvirtualenv下の環境でプログラムを動作させることが多いのではないでしょうか。
virtualenvは、自身のインストール環境とは別にPythonのインタプリタを指定できます。要するに「Python2.7環境にインストールしたvirtualenvでPython3の仮想環境を作る」といったようなことが可能なのでPython2, 3系両方にvirtualenvを入れる必要はありません。
今回もvirtualenvは2.7の方にだけ入れて以降の作業を行います。
virtualenvのインストール
[~] pip install virtualenv
この一行で, 終わりです。
pip はpythonのライブラリ管理ツールです。python2.7の環境下にvirtualenvがはいりました。
固有の環境を作ってみる
インストールできたら, 以下のコマンドで新しい環境を作ることができます。
[~] virtualenv --python=/usr/local/bin/python3 testenv
--pythonのオプションで使用したいPythonインタプリタのPathを指定(今回は前回homebrewからインストールしたPython3.3)しています。
testenvは今回作る固有の環境の名前です。
このコマンドを実行すると, 実行したディレクトリの直下にtestenvというフォルダができていて, その中に独立したPythonの実行環境が詰まっています。
環境を切り替える
[~] source testenv/bin/activate
(testenv)[~] ←testenv環境に入った
(testenv)[~] python --version
Python 3.3.2
(testenv)[~] deactivate
[~] ←testenv環境を抜けてグローバル環境に戻った
これもたった一行です。
(仮想環境名)/bin配下にあるactivateを実行するだけで今回作ったtestenv環境に入ることができます。今居る環境がカッコで表示されるのでわかりやすいですね。
Pythonのバージョンが, --pythonで指定したインタプリタのものになっていることに注目してください。抜けるときにはdeactivateでいけます。
以上です!
現状特定のプロジェクトが無い、Pythonで色々遊びたいだけなんだけど…って人は, とりあえず
- Python2.x系 → sandbox2
- Python3.x系 → sandbox3
とでも環境名をつけて、その中に色々ライブラリをインストールすれば良いかと思います。ライブラリのインストールは
pip install (ライブラリ名)
で。
sudo pip install (ライブラリ名)
だとせっかく固有に環境切ったのにグローバルに入っちゃうので, 注意してください。
#おまけ
virtualenvwrapperとかってvirtualenvを管理できるラッパーもあって, workonコマンド一発で
- 環境の一覧出力
- 各環境への切り替え
が可能だったりします。環境はまとめてどこかのディレクトリに作るようにすればそこまで煩雑にはならないし, 十分シンプルだと思うので自分は使ってませんが, 興味のある方は検索してみてください。
前言撤回です(^^;ゞ
便利なので、興味のある方はこちらの記事の方にインストール方法と使い方をまとめたので見てみてください。