sekine

2012.12.21

Python開発環境の構築について

はじめに

こんにちは。10月に入社した関根と申します。
早いもので入社してもう2ヶ月以上がたちました。
前職では主にPythonを用いてWebアプリケーションの開発を行ってきましたので、
私の担当する回はPythonでのWeb開発に関するTipsや情報をご紹介していこうと思います。

今回は、最初ということで私が入社してから行った開発環境の構築方法をご紹介します。
(OSはMacOSXのMountain Lionを利用しています。)

Pythonのインストール

まずは好きな方法でPythonをインストールします。
任意のパッケージ管理システムを利用しても良いですし、
MacOSXにデフォルトでインストールされているPythonを利用しても大丈夫です。

私はパッケージ管理システムにHomebrewを利用していますので
下記のコマンドでインストールを行いました。

インストール

Python 2.7.3がインストールされました。

virtualenv、virtualenvwrapper、pipのインストール

Pythonで開発を行う場合、様々なライブラリやモジュールをインストールして利用します。
プロジェクトが一つの場合は特に問題は無いのですが、
複数のプロジェクトで開発を行っていると、使用するライブラリのバージョンが違ったりして
うまく共存できないケースが発生します。

そのためプロジェクト毎にPythonの仮想環境を作成し、
他のプロジェクトに影響をあたえないように開発を進めていきます。

Pythonで仮想環境を構築するにはvirtualenv、virtualenvwrapper、pipを利用する事が多いと思いますが、
virtualenv-burritoを利用すると非常に簡単にこれらのツールをインストールすることができます。

インストール
下記コマンドを実行して、シェルに再ログインします。とても簡単です。

仮想環境の構築

上記のインストールが完了すると、実際に仮想環境を作成することが可能です。
コマンドを利用して、プロジェクト毎に環境を作成して利用します。

仮想環境の作成

仮想環境の切り替え

仮想環境の削除

ライブラリのインストール

プロジェクト毎に仮想環境を作成する事ができるようになりましたので、
仮想環境に必要なライブラリをインストールします。
パッケージの管理はpipを利用して行います。

pipの詳細なコマンドについては下記のリンクをご覧ください。
http://www.pip-installer.org/en/latest/

インストール

アンインストール

インストールしているパッケージの一覧表示

おすすめライブラリ

上記までの作業が完了すると実際に開発を進めて行くことができます。
せっかくなので、私が普段利用する事の多いライブラリをご紹介します。

Django
いわずとしれたWebアプリケーションフレームワークです。

django-debug-toolbar
Djangoでの開発時に便利な機能を提供してくれるツールです。

Jinja2
Python製のテンプレートエンジンです。Djangoテンプレートの後発として設計されているようです。
動作が高速で様々な用途に使用することが可能です。

SQLAlchemy
Python製のオブジェクトリレーショナルマッパーです。

PIL
Pythonで画像を扱う場合の定番のライブラリです。
JPEG,PNG,GIF,BMPなどの各種画像フォーマットに対応しています。

feedparser
RSSやAtomを簡単にパースできるライブラリです。

Sphinx
Python制のドキュメンテーションツールです。
reStructuredTextで書かれた複数のテキストファイルをビルドして、
HTMLやPDFに変換します。美しいドキュメントを簡単に生成することができます。

参考URL

今回の記事を書くにあたり参考にさせて頂いたサイトです。
とても参考になりました。

virtualenv, virtualenvwrapper,pip
http://ymotongpoo.hatenablog.com/entry/20100311/1268313718
http://www.ianlewis.org/jp/virtualenv-pip-fabric
http://d.hatena.ne.jp/jYoshiori/20090220/1235112492
http://d.hatena.ne.jp/mopemope/20090303/p1
http://d.hatena.ne.jp/toromoti/20121123/1353636216

virtualenv-burrito
http://mojavy.com/blog/archive/2012/04/1/

Pythonの開発全般
http://ymotongpoo.hatenablog.com/entry/2012/10/18/144352

まとめ

今回はPythonの環境構築の手順をご紹介しました。
まだまだ説明不足の点や、わかりづらい点もありますが、
今後はライブラリの使い方や、 GoogleAppEngineHerokuを利用した
実際のWebアプリの開発について紹介していければと思っています。

最後にアライドアーキテクツでは、一緒に働いてくれるデザイナーを募集中です。
興味がある方は、こちらからご応募ください。