[僕] virtualenvwrapper で virtualenv な仮想環境を切り替え

僕ト云フ事

たろマークはてなブックマーク

2011年08月31日

[python][virtualenv][virtualenvwrapper] virtualenvwrapper で virtualenv な仮想環境を切り替え

また、大分間が開いてしまった……。先日、PyConJP 2011 行ってきて、かなり楽しんできました。やっぱり、こう言うのに参加するとモチベーション上がりますね。

以下、Ubuntu 11.04 上での作業ログです。
まずは easy_install を入れる。(はなから pip があったかもしれない)

sudo apt-get install python-setuptools

virtualenv と virtualenvwrapper を入れる


sudo easy_install pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper

.zshrc-after に以下を追記する。(自分の .zshrc が .zshrc-after を読む設定になってるだけなので、.bashrc や .zshrc などに追記すればいい。)


export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh

んで、source .zshrc すると virtualenvwrapper が使う directory を作ってくれる。
これは virtualenvwrapper.sh が、起動時に毎回 directory があるかないかを調べてやってるみたい。


[vkgtaro@ubuntu] $ source .zshrc
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/initialize
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/premkvirtualenv
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/prermvirtualenv
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/predeactivate
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/postdeactivate
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/preactivate
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/postactivate
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/get_env_details

virtualenvwrapper の setup はここまで。
後は環境作ったりを virtualenvwrapper に付属のコマンドで行える。

mkvirtualenv で hoge1 という環境を作る


[vkgtaro@ubuntu] $ mkvirtualenv hoge1
New python executable in hoge1/bin/python
Installing setuptools............done.
Installing pip...............done.
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/hoge1/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/hoge1/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/hoge1/bin/preactivate
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/hoge1/bin/postactivate
virtualenvwrapper.user_scripts creating /home/vkgtaro/Envs/hoge1/bin/get_env_details
(hoge1)[vkgtaro@ubuntu] $

今作った仮想環境から抜ける


(hoge1)[vkgtaro@ubuntu] $ deactivate
[vkgtaro@ubuntu] $

作成済みの環境を list する


[vkgtaro@ubuntu] $ lsvirtualenv
hoge1


作成済みの仮想環境に切り替え


[vkgtaro@ubuntu] $ workon hoge1
(hoge1)[vkgtaro@ubuntu] $


仮想環境に入った状態で pip とか使うと、その仮想環境に対してインストール出来る


(hoge1)[vkgtaro@ubuntu] $ pip install pyramid

hoge1 には pyramid が入ってる。


(hoge1)[vkgtaro@ubuntu] $ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyramid.config import Configurator
>>>


deactive して、仮想環境から抜けてみると pyramid は使えなくなってる。


(hoge1)[vkgtaro@ubuntu] $ deactivate
[vkgtaro@ubuntu] $ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyramid.config import Configurator
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named pyramid.config
>>>

かなり楽ちん。しかし、virtualenvwrapper って名前はどうなんだろw

blog comments powered by Disqus