virtualenv は Python の仮想環境。Python のバージョンとかインストールされているパッケージの異なった環境を作ることができるらしいので、ちょっとやってみる。
参考にしたサイトは:
cf. python開発環境の構築から作成したeggを別環境へインストールするまで
cf. VIRTUALENV について ― 今日のPython
インストール
インストールは簡単。pipで一発。
^o^ > pip install virtualenv
なんか長々とメッセージが出て、インストール完了。
^o^ > pip list distribute (0.6.36) Jinja2 (2.7) MarkupSafe (0.18) virtualenv (1.10)
ちゃんとインストールされている。
仮想環境の作成
仮想環境の作成には、virtualenv コマンドを使う。–no-site-packages オプションは、余計なパッケージをインストールしないオプション。
^o^ > virtualenv --no-site-packages myenv New python executable in myenv\Scripts\python.exe Installing Setuptools........................................................... ................................................................................ ................................................................................ .........................done. Installing Pip.................................................................. ................................................................................ ................................................................................ ................................................................................ .......................done.
–no-site-packages オプションを指定しても Setuptools と pip はインストールされるみたいだ。
で、今作った myevn に移動して、仮想環境をアクティベートする。
^o^ > cd myenv ^o^ > Scripts\activate (myenv) ^o^ >
アクティベートするには(Windowsなので)Scriptsフォルダのactivateを実行する。仮想環境がアクディブになるとプロンプトに (myenv) と出るようだ。
インストールされているパッケージを見ると pip と setuptools だけになっている。
(myenv) ^o^ > pip list pip (1.4) setuptools (0.9.7)
仮想環境から出るには、(Windowsなので)Scriptsフォルダのdeactivateを実行する。
(myenv) ^o^ > Scripts\deactivate ^o^ >
仮想環境のフォルダ構成
^o^ > dir ドライブ C のボリューム ラベルは OS です ボリューム シリアル番号は FE2A-F7C6 です C:\Users\takatoh\Documents\w\myenv のディレクトリ 2013/08/03 15:08 <DIR> . 2013/08/03 15:08 <DIR> .. 2012/12/23 17:22 <DIR> Include 2013/08/03 15:09 <DIR> Lib 2013/08/03 15:09 <DIR> Scripts 0 個のファイル 0 バイト 5 個のディレクトリ 364,815,224,832 バイトの空き領域
Include、Lib、Scripts の3つのフォルダができている。Include にはCのヘッダファイルが入っている。Lib はたぶんライブラリ、Scripts は実行ファイルが入っていて、Python 自体もここに入っている。
仮想環境にパッケージをインストール
せっかくなので、ためしにやってみよう。まずはもう一度アクティベートしてから、pip でインストールする。
(myenv) ^o^ > pip install Jinja2 Downloading/unpacking Jinja2 Downloading Jinja2-2.7.tar.gz (377kB): 377kB downloaded Running setup.py egg_info for package Jinja2 warning: no files found matching '*' under directory 'custom_fixers' warning: no previously-included files matching '*' found under directory 'do cs\_build' warning: no previously-included files matching '*.pyc' found under directory 'jinja2' warning: no previously-included files matching '*.pyc' found under directory 'docs' warning: no previously-included files matching '*.pyo' found under directory 'jinja2' warning: no previously-included files matching '*.pyo' found under directory 'docs' Downloading/unpacking markupsafe (from Jinja2) Downloading MarkupSafe-0.18.tar.gz Running setup.py egg_info for package markupsafe Installing collected packages: Jinja2, markupsafe Running setup.py install for Jinja2 warning: no files found matching '*' under directory 'custom_fixers' warning: no previously-included files matching '*' found under directory 'do cs\_build' warning: no previously-included files matching '*.pyc' found under directory 'jinja2' warning: no previously-included files matching '*.pyc' found under directory 'docs' warning: no previously-included files matching '*.pyo' found under directory 'jinja2' warning: no previously-included files matching '*.pyo' found under directory 'docs' Running setup.py install for markupsafe building 'markupsafe._speedups' extension ========================================================================== WARNING: The C extension could not be compiled, speedups are not enabled. Failure information, if any, is above. Retrying the build without the C extension now. ========================================================================== WARNING: The C extension could not be compiled, speedups are not enabled. Plain-Python installation succeeded. ========================================================================== Successfully installed Jinja2 markupsafe Cleaning up...
(myenv) ^o^ > pip list Jinja2 (2.7) MarkupSafe (0.18) pip (1.4) setuptools (0.9.7)
パッケージは、Lib\site-packagesの中にインストールされるようだ。
さて、あとは必要なパッケージをインストールしてスクリプトを書くだけだ。そのうち書いたスクリプトを.eggファイルにする方法も試してみたい。