すこしふしぎ.

VR/HI系院生による技術ブログ.まったりいきましょ.(友人ズとブログリレー中.さぼったら焼肉おごらなきゃいけない)

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での追加機能調査かな.

そいではこの辺で.