このページの本文へ

Pythonが最高である3つの理由 (3/3)

2010年07月26日 10時00分更新

文●山崎徳之/ゼロスタートコミュニケーションズ代表取締役

  • この記事をはてなブックマークに追加
本文印刷

Let's Python!

 ということで、早速Pythonを使ってみましょう、という前に、Pythonのバージョンの状況について簡単に説明しておきます。

 現在、Pythonには2.x系列と3.x系列の2つがありますが、まだまだ2.x系列がメジャーです。3.xは2.xと後方互換性がないので、マイナーバージョンアップに比べると移行が進んでいるとは正直言えません。ライブラリやフレームワークも、3.xのサポート状況は充実しているとは言えない状況です。現状でどちらを選ぶかは、非常に悩ましい問題です。とはいえ、どちらか選択しないと始められないので、2.x系列を対象として進めます。ただし、連載の途中で3.x系列が明らかにメインストリームになってきたら、対応します。

 さて、PythonにはソースはもちろんWindows版やMac版も公式配布されています。Pythonの機能自体はLinuxでもWIndowsでもMacでも差はないのですが、使えるライブラリに差があるのでそこは注意です。たとえば、win32comというExcelなどを操作するライブラリはWindowsにしかなかったりします。LinuxでもpyExceleratorというライブラリがありますが、win32comとは別物です。この連載では、いわゆるLAMP環境にターゲットして、Linuxを前提として進めていきます。

 ダウンロードページからLinux用のインストーラーをダウンロードしてインストールしましょう。Windows版やMac版はインストーラーがあるので楽勝ですが、Linux版はソースからインストールするのでconfigureしてmakeする必要があります。configureのオプションは好みですが、--enable-sharedは付けておいたほうがよいでしょう。--enable-sharedを付けておくと、shared library(dynamic link library)を作成してくれます。Apacheのmod_wsgiで使うことなどを考えて、--enable-sharedは付けておきましょう。

 Pythonを無事インストールできたら、次にsetuptoolsを入れます。setuptoolsはPythonのパッケージ管理用のツールで、ちょっと違いますが、PerlのCPANのようなものです。setuptoolsをインストールするとeasy_installというパッケージを手軽にインストールするためのコマンドもインストールされます。この連載でもeasy_installを使いますのでsetuptoolsは入れておいてください。ちなみに、pipというより新しいパッケージ管理ツールもあるので、興味がある人は調べてみてください。

 Python以外に、データベースとしてMySQLを使いますのでインストールしておいてください。MySQLのインストールの詳細はもうそこら中に情報があると思うので省きます。

 ちなみにこのパッケージで提供されるモジュールの名前はMySQLdbです。CPANの場合、名前空間とファイル名とパッケージ名がある一定のルールの元で関係付いていますが、Pythonの場合ここは今いちです(maybe misspelled?とよくいわれます)。PythonにはWindows版やMac版もあるのですが、MySQLdbは作者がWindowsを知らない人なので、最新版はLinux版しかありません。Python本体はWindowsでも学習できるのですが、本格的に何かしようとするなら、初めからLinuxで勉強した方が結局は早道です。VMwareなどでも構わないので、Linux環境を用意しましょう。

 さて、PythonにはPython shellとでもいうような対話モードが用意されていて、実に使いやすいです。OSのシェル(Windowsであればコマンドプロンプト)からpythonと打つだけですので、MySQLdbが使用可能になっているか、Python shellで確かめましょう。


$ python
(略)
>>> import MySQLdb
>>> con = MySQLdb.connect(user='ユーザ',passwd='パスワード',db=' データベース')


 この操作でエラーが出なければ、MySQLdbは正しくインストールされ、MySQLにアクセスできる状態です。何らか問題があれば例外が発生します。

 以上で最低限の準備が整いました。この連載ではターゲットをPythonの初歩ではなく、いわば実践において進めようと思います。必要に応じて解説しますが、Pythonのシンタックスの基礎、標準モジュール、コンテナというか変数の型などは理解しているという前提です。「FacebookがPythonでできている」ことをメリットとして紹介しましたので、まずはFacebookのようなものを作ってみようと思います。


著者:山崎徳之

ゼロスタートコミュニケーションズ代表取締役。

青山学院大学卒業後、アスキー、So-netなどでネットワーク、サーバエンジニアを経験。オン・ザ・エッヂ(現ライブドア)のデータセンターである「データホテル」を構築、運営。2003年にベイエリアにおいてVoIPベンチャーであるRedSIP Inc.を創業。2006年6月に(株)ゼロスタートコミュニケーションズを設立、代表取締役就任(現任)。

■関連サイト

前へ 1 2 3 次へ

この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています