====================================== 仮想環境を構築する ====================================== 仮想環境構築に必要なパッケージをインストール ============================================ なぜ仮想環境が必要なのか? -------------------------- pythonを含め、一般的なプログラミング言語で開発していると次のようなニーズが発生すると思います。 - プロジェクト毎に異なるライブラリのバージョンを導入する必要がある - 新しいライブラリバージョンで現行プロジェクトが動くかテストしたい - 新しいパッケージをちょっと導入して試してみたいが、現在の環境を汚したくない このような場合にシステムの環境とは別に個別の仮想環境が構築できるようになっていれば上のニーズを 満たせるため、開発がしやすくなります。 pythonには仮想環境を構築するパッケージとしてvirtualenvがあります。 必要なパッケージ ---------------- 導入するパッケージは以下の3つです - `pip `_ パッケージマネージャ - `virtualenv `_ pythonの仮想環境構築ツール - `virtualenvwrapper `_ virtualenvをより快適に使うためのsh拡張 ターミナルから以下のコマンドを順に実行します。 .. code-block:: sh 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を指定してください .. code-block:: sh source /usr/local/share/python/virtualenvwrapper.sh .. Note:: `virtualenv-burrito `_ を利用すれば上記の作業がコマンドライン一発で行えるようですが、筆者は使ったことがありません 仮想環境を構築 -------------- 今回つくるwikiの名前をflaskiにするので、flaskiという名前の仮想環境をつくります。新たに仮想環境を用意するにはmkvirtualenvコマンドを使います。 .. code-block:: sh 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)と表示されることでわかります。 その他のコマンド ~~~~~~~~~~~~~~~~ .. csv-table:: virtualenv & virtualenvwrapper :header: "コマンド", "説明" :widths: 15, 30 "mkvirtualenv [仮想環境名]", "新たに仮想環境を用意します" "rmvirtualenv [仮想環境名]", "仮想環境を削除します" "lsvirtualenv", "仮想環境の一覧を表示します" "workon [仮想環境名]", "仮想環境に入ります" "deactivate", "仮想環境から抜けます" Flaskパッケージのインストール ============================= FlaskとSQLAlchemyをインストールするにはpipコマンドを使います。 .. code-block:: sh pip install flask pip install sqlalchemy インストールされたパッケージはpip freezeで出力出来ます。 .. code-block:: sh Flask==0.9 Jinja2==2.6 SQLAlchemy==0.8.0b2 Werkzeug==0.8.3 wsgiref==0.1.2 補足 pipの使い方 ~~~~~~~~~~~~~~~~ 例えば開発環境のパッケージ構成を本番環境に構築したい場合に .. code-block:: sh pip freeze > requirements.txt で依存するパッケージを作っておいて、別のマシンにファイルをコピーして .. code-block:: sh pip install -r requirements.txt とやればいいので便利です。