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ファイルにする方法も試してみたい。