はじめに
こんにちは。10月に入社した関根と申します。
早いもので入社してもう2ヶ月以上がたちました。
前職では主にPythonを用いてWebアプリケーションの開発を行ってきましたので、
私の担当する回はPythonでのWeb開発に関するTipsや情報をご紹介していこうと思います。
今回は、最初ということで私が入社してから行った開発環境の構築方法をご紹介します。
(OSはMacOSXのMountain Lionを利用しています。)
Pythonのインストール
まずは好きな方法でPythonをインストールします。
任意のパッケージ管理システムを利用しても良いですし、
MacOSXにデフォルトでインストールされているPythonを利用しても大丈夫です。
私はパッケージ管理システムにHomebrewを利用していますので
下記のコマンドでインストールを行いました。
インストール
1 |
brew install python |
Python 2.7.3がインストールされました。
1 2 3 4 5 6 |
%python Python 2.7.3 (default, Dec 20 2012, 11:38:06) [GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> |
virtualenv、virtualenvwrapper、pipのインストール
Pythonで開発を行う場合、様々なライブラリやモジュールをインストールして利用します。
プロジェクトが一つの場合は特に問題は無いのですが、
複数のプロジェクトで開発を行っていると、使用するライブラリのバージョンが違ったりして
うまく共存できないケースが発生します。
そのためプロジェクト毎にPythonの仮想環境を作成し、
他のプロジェクトに影響をあたえないように開発を進めていきます。
Pythonで仮想環境を構築するにはvirtualenv、virtualenvwrapper、pipを利用する事が多いと思いますが、
virtualenv-burritoを利用すると非常に簡単にこれらのツールをインストールすることができます。
インストール
下記コマンドを実行して、シェルに再ログインします。とても簡単です。
1 |
curl -s https://raw.github.com/brainsik/virtualenv-burrito/master/virtualenv-burrito.sh | $SHELL |
仮想環境の構築
上記のインストールが完了すると、実際に仮想環境を作成することが可能です。
コマンドを利用して、プロジェクト毎に環境を作成して利用します。
仮想環境の作成
1 |
mkvirtualenv sample_project |
仮想環境の切り替え
1 |
workon new_sample_project |
仮想環境の削除
1 |
rmvirtualenv sample_project |
ライブラリのインストール
プロジェクト毎に仮想環境を作成する事ができるようになりましたので、
仮想環境に必要なライブラリをインストールします。
パッケージの管理はpipを利用して行います。
pipの詳細なコマンドについては下記のリンクをご覧ください。
http://www.pip-installer.org/en/latest/
インストール
1 |
pip install django |
アンインストール
1 |
pip uninstall django |
インストールしているパッケージの一覧表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
pip freeze Django==1.4.3 Jinja2==2.6 MySQL-python==1.2.4c1 Pygments==1.5 Sphinx==1.1.3 distribute==0.6.32 django-debug-toolbar==0.9.4 docutils==0.10 stevedore==0.7.2 virtualenv==1.8.4 virtualenv-clone==0.2.4 virtualenvwrapper==3.6 wsgiref==0.1.2 |
おすすめライブラリ
上記までの作業が完了すると実際に開発を進めて行くことができます。
せっかくなので、私が普段利用する事の多いライブラリをご紹介します。
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の環境構築の手順をご紹介しました。
まだまだ説明不足の点や、わかりづらい点もありますが、
今後はライブラリの使い方や、 GoogleAppEngine、Herokuを利用した
実際のWebアプリの開発について紹介していければと思っています。
最後にアライドアーキテクツでは、一緒に働いてくれるデザイナーを募集中です。
興味がある方は、こちらからご応募ください。
Python、JavaScript関連の話題を中心に、ソフトウェア開発全般に関するお話を書いていこうと思います。