[[ともっくす alloc] init]

ともっくすの雑多な日記と技術的なメモ

Pythonの仮想環境 virtualenvとvirtualenvwrapper

前回のエントリーでPyramidを使いたいと言ったけど,何はともあれ環境構築.

恥ずかしながら,1年半くらいPythonを使ってきたが,環境構築と呼べるようなことはしてこなかった.

その都度必要になったパッケージをpipでインストールしたくらいだろうか.

ということで,バージョンとかの依存関係がめんどくさいことにならないように,今更ながらvirtualenvを使ってみる.

ついでに,virtualenvを使いやすくするためのvirtualenvwrapperも使う.

以下,手順をメモ.
このPCとも残り半年とちょっとでさよならだしね.

pip

pipはPythonのパッケージ管理ツール.
っていう認識であってるのかな?

easy_installの代わりに使われたりする,らしい.

pipのインストール

まずはpipをインストールする.

$ easy_install pip

easy_installはその役目を取って代わられるとも知らず,頑張ってpipをインストールするんですね…

virtualenv

virtualenvはPythonの仮想環境を構築する.

virtualenvのインストール

次に,virtualenvをインストールする.

$ sudo pip install virtualenv

virtualenvwrapper

virtualenvwrapperはvirtualenvを使いやすくしてくれる.

virtualenvwrapperのインストール

次に,virtualenvwrapperをインストールする.

$ sudo pip install virtualenvwrapper

virtualenvwrapperの設定

.zshrcに以下を追記する.

export WORKON_HOME=$HOME/.virtualenvs
source `which virtualenvwrapper.sh`

そして,

$ source ~/.zshrc

で,再読み込み.

bashを使っているなら,.bashrcに読み替える.

virtualenv環境を作成

virtualenv環境は以下のようにして作成する.

$ mkvirtualenv env-hogehoge

環境を作成したら,自動でアクティベートされる.

アクティベート

作成したvirtualenv環境をアクティベートする.
(その環境を使う)

$ workon env-hogehoge

ディアクティベート

現在アクティベートしているvirtualenv環境をディアクティベートする.
(その環境から抜ける)

$ deactivate

プロンプトの表示

今,どの環境にアクティベートしているかを表示させたい.


自分のzsh環境の場合,

$WORKON_HOME/postactivateに,

PS1="$_OLD_VIRTUAL_PS1"
_OLD_RPROMPT="$RPROMPT"
RPROMPT="%{${fg_bold[white]}%}(env: %{${fg[green]}%}`basename \"$VIRTUAL_ENV\"`%{${fg_bold[white]}%})%{${reset_color}%} $RPROMPT"

$WORKON_HOME/postdeactivateに,

RPROMPT="$_OLD_RPROMPT"

と,追記することで,端末の右側に現在アクティベートしている環境が表示されるようになった.



参考にさせていただいたサイト様
pipの使い方 - そこはかとなく書くよ。
virtualenvを使ってみる - cloverrose's blog
virtualenv導入手順zuzuPress | zuzuPress
Tips とトリック — virtualenvwrapper 3.5 documentation