pythonを含め、一般的なプログラミング言語で開発していると次のようなニーズが発生すると思います。
このような場合にシステムの環境とは別に個別の仮想環境が構築できるようになっていれば上のニーズを 満たせるため、開発がしやすくなります。
pythonには仮想環境を構築するパッケージとしてvirtualenvがあります。
導入するパッケージは以下の3つです
ターミナルから以下のコマンドを順に実行します。
curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
sudo python get-pip.py
sudo pip virtualenv
sudo pip install virtualenvwrapper
virtualenvwrapperを有効にするために、.bashrcに以下の行を追加(osx+homebrewの場合)してsourceしてください。 尚、virtualenvwrapper.shがインストールされるpathはOSによってかわりますので適切なpathを指定してください
source /usr/local/share/python/virtualenvwrapper.sh
Note
virtualenv-burrito を利用すれば上記の作業がコマンドライン一発で行えるようですが、筆者は使ったことがありません
今回つくるwikiの名前をflaskiにするので、flaskiという名前の仮想環境をつくります。新たに仮想環境を用意するにはmkvirtualenvコマンドを使います。
mkvirtualenv flaski
New python executable in flaski/bin/python
Installing setuptools............done.
Installing pip...............done.
virtualenvwrapper.user_scripts creating /Users/kzfm/.virtualenvs/flaski/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/kzfm/.virtualenvs/flaski/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/kzfm/.virtualenvs/flaski/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/kzfm/.virtualenvs/flaski/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/kzfm/.virtualenvs/flaski/bin/get_env_details
(flaski)localhost@kzfm:flask $
仮想環境に入っていることはプロンプトの先頭に(flaski)と表示されることでわかります。
コマンド | 説明 |
---|---|
mkvirtualenv [仮想環境名] | 新たに仮想環境を用意します |
rmvirtualenv [仮想環境名] | 仮想環境を削除します |
lsvirtualenv | 仮想環境の一覧を表示します |
workon [仮想環境名] | 仮想環境に入ります |
deactivate | 仮想環境から抜けます |
FlaskとSQLAlchemyをインストールするにはpipコマンドを使います。
pip install flask
pip install sqlalchemy
インストールされたパッケージはpip freezeで出力出来ます。
Flask==0.9
Jinja2==2.6
SQLAlchemy==0.8.0b2
Werkzeug==0.8.3
wsgiref==0.1.2
例えば開発環境のパッケージ構成を本番環境に構築したい場合に
pip freeze > requirements.txt
で依存するパッケージを作っておいて、別のマシンにファイルをコピーして
pip install -r requirements.txt
とやればいいので便利です。