こんにちは。きろののです。
最近 Python の Webアプリフレームワーク Pylons を扱うようになったので、Pylons 開発の環境を構築してみます。
Python で開発する上で、後々問題になるのは、以下のような事だと思います。
- Python のバージョンを固定したい (2.5, 2.6, 3.0 …)
- モジュールのバージョンをアプリごとに選びたい
- 開発用環境と運用環境の切り分け
こういった問題を解決する方法に、すでに定番となった方法があるみたいです。
virtualenv を使う
virtualenv を使うと 使用する Python のバージョンを固定した環境を構築できます。まずはインストールから。
virtualenv をインストールするには、python-setuptools パッケージをインストールします。
1
| $ sudo apt-get install python-setuptools |
setuptools がインストールされると easy_install というコマンドが利用できます。
easy_install は、Python Package Index から該当するモジュールパッケージを探してきて、インストールしてくれるコマンドです。パッケージに依存関係がある場合でも自動的に依存パッケージもインストールしてくれます。
easy_install を使って、virtualenv をインストールします。
1
| $ sudo easy_install virtualenv |
もし、一般ユーザの権限しかなく、sudo などのコマンドが使えない場合は、手動で virtualenv.pyをダウンロードしてくる方法があります。
1 2 3
| $ wget http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.8.tar.gz#md5=74ded4025a56e538c1c8df6b9825a8b8
$ tar xzf virtualenv-1.4.8.tar.gz
$ cd virtualenv |
仮想環境を作成する
仮想環境を ~/myenv に作成します。
1
| $ virtualenv --python=/usr/local/bin/python2.5 --no-site-packages ~/myenv |
virtualenv.py を手動でダウンロードしてきた場合は、
1
| $ python virtualenv.py --python=/usr/local/bin/python2.5 --no-site-packages ~/myenv |
とすることで、~/myenv に –python オプションで指定した python のバージョンの仮想環境が出来上がります。
仮想環境に切り替える
先程作成した仮想環境に切り替えるには、仮想環境のディレクトリ以下の bin/activate というシェルスクリプトを実行します。
1 2
| $ source ~/myenv/bin/activate
(myenv) $ |
source コマンドを使って bin/activate を実行すると、仮想環境に切り替わり、コンソールの先頭に (myenv) とつくようになります。
この状態で、python コマンドのパスを調べてみます。
1 2
| (myenv) $ which python
/home/username/myenv/bin/python |
python コマンドの在処がシステムにインストールされた python ではなく、仮想環境として作成したディレクトリ myenv の bin/python を指すようになります。
仮想環境から抜ける
仮想環境から抜けるには、deactivate コマンドを使います。
取り敢えず、仮想環境に pylons パッケージをインストールしてみます。myenv をアクティベートしておきます。
pip でパッケージ管理
先程の easy_install と同様にモジュールパッケージ名を指定すると、パッケージをインストールしてくれる pip というコマンドがあります。
現在のバージョンの virtualenv で仮想環境を作成すると、pip もインストールされています。
pip コマンドを使うと、パッケージのインストール、アンインストールが容易に行えます。
Pylons のインストール
pylons をインストールするには、
1
| (myenv) $ pip install pylons |
先に、依存パッケージのダウンロードを行い、その後、自動的にセットアップが始まります。
freeze コマンドを使うと、インストールされているパッケージの一覧を見ることが出来ます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| (myenv) $ pip freeze
AuthKit==0.4.5
BareNecessities==0.2.2
Beaker==1.5.3
Elixir==0.7.1
FormBuild==2.0.1
FormEncode==1.2.2
Mako==0.3.2
Paste==1.7.3
PasteDeploy==1.3.3
PasteScript==1.7.3
Pygments==1.3.1
Pylons==0.10rc1
Routes==1.12.1
SQLAlchemy==0.6beta3
Tempita==0.4
WebError==0.10.2
WebHelpers==0.6.4
WebOb==0.9.8
WebTest==1.2.1
decorator==3.1.2
elementtree==1.2.7-20070827-preview
nose==0.11.3
python-openid==2.2.4
simplejson==2.1.1
wsgiref==0.1.2 |
これで、取り敢えず pylons 開発環境が整いました。
次回は、Pylons をベースに アプリケーションの作成やってみたいと思います。
kilo@WebMaster Pylons Pylons, Python
最近のコメント