2017年2月28日virtualenvでpython環境を管理Pythonvirtualenvを使って、pythonのための仮想環境を作成します。virtualenvとは?準備virtualenvインストールvirtualenv使用virtualenvwrapperインストールvirtualenv+virtualenvwrapperの使用virtualenvとは?Pythonの独立した環境を構築するモジュールです。virtualenvは開発用のサンドボックスを作成し、pythonバイナリやパッケージを分離してくれます。一つの開発機で複数の環境を簡単に管理することができます。virutalenvで環境を作ってそちらにインストールして試せば、システム環境は無傷で使えます。いくつも環境が作れ、pythonのバージョンで分けたりと色々と便利です。Virtualenvwrapperとは?Virtualenvだけでも十分に簡単に使用できますが、wrapperを導入することで各環境の管理、切り替えが簡単になります。virtualenvのwrapperという意味で、virtualenvをより使いやすくしてくれるツールです。Windowsには対応しておらず、LinuxとMac限定のツールとなっています。Python3.x系にも対応しています。仮想環境のメリット本来は競合する(同時にインストールできない)Pythonのパッケージを同一マシンで共存させることができます。簡単に切り替えることができます。あれば複数台のマシンを用意することなく1台で動作検証できます。仮想環境ディレクトリは自分のユーザディレクトリにも作成可能です。環境に一切影響を与えることなくお気に入りのパッケージを自由に入れられます。準備1Pythonとpipは以下を参考にして下さい。→UbuntuにPythonとpipをソースビルドでインストールするpipコマンドの非推奨について。64bitpython2.7.9pip9.0.1virtualenvインストール1「virtualenv」をインストールします。virtualenv2「virtualenv」のバージョン確認をします。--versionvirtualenv使用1まず、virtualenv環境(ここではenv)を作成します。以下のコマンドを入力し、カレントディレクトリに「env」を作ります。env以下のように表示されます。※xxxxxはユーザ名が表示されます。wheel...done.2作成されたenvを確認します。pip-selfcheck.jsonenv以外のかつて作った仮想環境を表示します。私はホームディレクトリからlsで一覧を表示しました。webapp3env環境を有効化します。bashスクリプトのenv/bin/activateをsourceコマンドで実行します。env/bin/activate有効化するとプロンプトの前に環境名「(env)」が表示されます。環境変数PATHの先頭に「env/bin」が追加され、virtualenv環境のPythonが実行されます。4例として、requests(HTTPクライアントのパッケージ)をpipでインストールします。requestsが、「env/lib/python2.7/site-packages」配下にインストールされます。requests※pipコマンドのとき、sudoで実行しないように気をつけましょう。sudoを使うとPATHが異なるため、仮想環境外のpipを実行してしまう可能性があります。以下のように表示されます。requests-2.12.45pythonを実行してみて、インポートできるか確かめます。Pythonパッケージの中にはコマンドとして実行可能なファイルが含まれている場合があります。6無効化する場合は、以下のようにコマンドを入力します。virtualenvwrapperインストールvirtualenvwrapperを入れると次のコマンド(抜粋)が使えるようになります。mkvirtualenv(virtualenvを作る)cdvirtualenv(virtualenvに移動する)workon(virtualenv環境で仕事する)1「virtualenvwrapper」をインストールします。virtualenvwrapper2コマンド(virtualenvwrapper.sh)が存在するか、念の為検索します。virtualenvwrapper.sh以下のように表示されます。有効化するためのシェルスクリプトです。入れた場合は「/usr/local/bin」あたりにあることが多いようです。3これだけだとvirtualenvwrapperが使われないので、個人設定の「.bashrc」を編集します。vimで「bash_profile」を編集します。~/.bash_profile※vimをインストールしていない場合は、以下を実行します。vim末尾に以下のような記述を追加します。これで「.bash_profile」->「bashrc」の順に実行されます。~/.bashrcfi4vimで「bash_profile」を編集します。~/.bashrc末尾に以下のような記述を追加します。virtualenvのトップディレクトリとなるWORKON_HOMEも書いておきます。起動時に読み込まれます。場所は、GUIでは見えませんが、「/home/username/」に存在します。※共通設定の場合は、「/etc/.bashrc」ではなく「/etc/bash.bashrc」に書きます。環境を一元管理するディレクトリを指定するための変数です。「.virtualenvs」というディレクトリを使っていますが、場所は任意で結構です。$HOME直下に専用のディレクトリを作ってそこにいれると便利です。5「bashrc」の変更内容を反映させます。~/.bashrcvirtualenv+virtualenvwrapperの使用1「webapp」という名前のサンドボックスを作成します。webapp2virtualenv環境を一覧表示します。1で「webapp」を作成しましたので1件表示します。workon以下のように表示されます。webapp3virtualenv環境に入ります。webappvirtualenv環境を削除する場合は、以下のようなコマンドを入力します。webappvirtualenv環境から抜ける場合は、以下のようなコマンドを入力します。一度入った固有環境からシステム(グローバル)に抜けたい場合はdeactivateコマンドを打ちます。仮想環境をシステム(グローバル)へ一度抜けます。その後、以下のコマンドでサンドボックスを削除します。