virtualenv + virutualenvwrapper 使うメモ
こんばんは,1000chです. 今更ながらpythonのバージョン3.4が出ていることを知りました. ということで早速venvで更新!...っていう記事を書こうと思ったらまさかの前日に書かれてしまいました..
しかしこの記事ではvirtualenvwrapperに触れられていないぞ?
しかしそもそも自分もmkvirtualenvくらいしか使ってないぞ?
ということで今回はvirtualenvwrapperを使ったvirtualenvの利用について見ていきます.
what's virtualenv ?
公式サイト曰く
virtualenv is a tool to create isolated Python environments.
とのこと.実にシンプル. 簡単な使い方は昨日のユキミネのブログ(link)を参考.
what's virtualenvwrapper?
公式サイト曰く
virtualenvwrapper is a set of extensions to Ian Bicking’s virtualenv tool. The extensions include wrappers for creating and deleting virtual environments and otherwise managing your development workflow, making it easier to work on more than one project at a time without introducing conflicts in their dependencies.
とのこと.
virtualenvの拡張機能やコマンドのラッパーを提供しているようです. さらには同一プロジェクトにおいて,環境の違いをいろいろバッファリングしてくれるっぽいですね.
自分はvirtualenvは単純に2系3系の切替や,慣れていないライブラリのテストくらいにしか使わないので,virtualenvwrapperによりどんなコマンドが利用可能になるかを見ていきましょう!
virtualenvwrapper インストール
まずはメインとなるpython環境(virtualenvを使わない環境)にて
pip install virtualenv virtualenvwrapper
でインストールします.その後.bashrcなり.zshrcに以下を追記.
source /usr/local/bin/virtualenvwrapper.sh
これにて快適なvirtualenvライフがはじまる!
virtualenvつかってみる
mkvirtualenv
せっかくなのでpython3.4環境を作ってみましょう.
まずはbrewでpython3.4をインストールします.
# brewの参照リポジトリを最新に $ brew update # python3.4をinstall $ brew install python3 # すでにpython3が存在する時 $ brew upgrade python3
バージョン指定して仮想環境を作ります
# バージョン指定で環境作成 $ mkvirtualenv py34 -p /usr/local/bin/python3.4 # 有効化 $ workon py34 # バージョン確認 $ python --version Python 3.4.0 #できた! # 仮想環境リスト $ ls $WORKON_HOME py2 py3 py34 # 新しいpy34が追加されました
lsvirtualenv
作成した仮想環境のリストを表示
$ lsvirtualenv py2 === /usr/bin/python: No module named virtualenvwrapper py27 ==== /usr/bin/python: No module named virtualenvwrapper py3 === /usr/bin/python: No module named virtualenvwrapper py34 ==== /usr/bin/python: No module named virtualenvwrapper
なんか怒られてますね...まぁ動いているので問題無しってことにします(ぇ
rmvirtualenv
不要になった仮想環境の削除.そのままですね.
# 環境作ります $ mkvirtualenv hoge # 表示してみます $ lsvirtualenv hoge ==== /usr/bin/python: No module named virtualenvwrapper py2 === /usr/bin/python: No module named virtualenvwrapper py27 ==== /usr/bin/python: No module named virtualenvwrapper py3 === /usr/bin/python: No module named virtualenvwrapper py34 ==== /usr/bin/python: No module named virtualenvwrapper # 消します $ rmvirtualenv hoge # 確認します $ lsvirtualenv py2 === /usr/bin/python: No module named virtualenvwrapper py27 ==== /usr/bin/python: No module named virtualenvwrapper py3 === /usr/bin/python: No module named virtualenvwrapper py34 ==== /usr/bin/python: No module named virtualenvwrapper
workon
仮想環境を有効化
$ workon py34 /usr/bin/python: No module named virtualenvwrapper /usr/bin/python: No module named virtualenvwrapper (py34)$
deactivate
環境無効化
# 先に引き続き (py34)$ deactivate /usr/bin/python: No module named virtualenvwrapper /usr/bin/python: No module named virtualenvwrapper $
まとめ
とりあえず手元で使う分にはこれくらい覚えとけばokっぽいですね〜.
他にも,環境有効化する際のフックでいろいろスクリプト動かしたりもできるみたいです. そのうち調べるかも? いやまずはpython3.4での追加機能調査かな.
そいではこの辺で.