Python 2.7のインストール

Python2.7が正式リリースされた記念に、パッケージのインストールをメモ。
自分が使うものだけをインストールするので、一般性は乏しいです。

Python2.7本体

http://www.python.org/download/releases/2.7/から、windowsの人はinstallerを、その他の環境の人はソースコードをインストールします。installerはダブルクリックしたらひたすらNextNextNextNextするだけでOK。

distribute

$ wget http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py

distributeは開発が止まったsetuptoolsの後継ライブラリ。http://pypi.python.org/pypiからパッケージをダウンロードしたり、パッケージを自分で作る時に使うもの。
easy_installしか使っていない身としては、setuptoolsから何所が進歩したのか知らないのですが。

py2exe

py2exeは、Pythonのスクリプトを使用するモジュールもろとも一つのexeファイルにまとめるパッケージです。Pythonをインストールしない一般のPCユーザー向けアプリを作るときに必要です。

http://sourceforge.net/projects/py2exe/files/から2.7用のインストーラをダウンロードして、実行。

ところでこのpy2exe、上記のように既に2.7用のインストーラが用意されています。なんというすばやい対応でしょう。py2exeはまだ2.6が出て間もない2.7がα版すらない時期から2.7用のインストーラを用意していたのです。

pywin32

pythonから、WindowsのAPIを呼び出すライブラリ。ショートカットを作ったりする時に必要ですね。

これもhttp://sourceforge.net/projects/pywin32/files/からダウンロードして実行するだけ。

MinGWとMSYS

PythonのC拡張モジュールをビルドするのに使います。たまに、Windows用のバイナリが用意されていないモジュールがあるので。VisualStudioを持っていたり、そもそもビルドしない人は不要です。

しかし、PILやPyQt4などはまだ2.7のWindows用バイナリが無いので、これ等を使いたいなら、自分でビルドしなくてはなりません。

MinGW

MinGWはページ左側に"Downloads"というリンクがあるので、"Automated MinGW Installer"から適当に選んで、ダウンロード→実行すればOKです。

MSYS

MSYSは本文中に"MSYS 1.0.11"というリンクがあるので、
そこからインストーラをダウンロードします。インストーラは途中で黒いDOS窓を表示させてユーザーにmingwの場所を聞くのですがですが、実は1.0.11はバグがあるらしく正しく入力しても「間違っている!」と怒られます。が、まあ、大丈夫でしょう。

distutils.cfg

distributeはWindowsでは通常Visual C++でビルドしようとします。それを、MinGWを使わせるようにするには、"C:\Python27\Lib\distutils"に"distutils.cfg"というファイルを作り、

[build]
compiler = mingw32

と書き込みます。

PIL

PILは基本的な画像処理の為のライブラリです。結構、古臭い、イケてない所があったりしますが、PCXフォーマットを読み込めるのがPILぐらいなので、私は使っています。

まだ、2.7用のバイナリは無いので、ソースコードをダウンロードして、解凍します。
http://www.pythonware.com/products/pil/

Imaging-1.1.7というフォルダが出来るので、コマンドプロンプトでそこに移動し、setup.pyを実行します。

$ cd D:\Owner\temp\Imaging-1.1.7
$ python setup.py build
$ python setup.py install

PyQt4

PyQt4はGUIライブラリ。
PythonGUIライブラリは標準でTkinterが付いてきます。Tkinterは比較的少ないコードで書けるのですが、TkinterはウィンドウがWindows2000のあのクラシックな表示になってしまう上、提供しているコントロールが少ないので、あまり使うべきでは無いでしょう。

PyQt4はTkinterと同等以上に強力で、複雑なGUIを快適にプログラミングできます。もちろんとXPスタイル・Vistaスタイルでの表示も可能です。

ただし、PyQt4は[GPL]なのが玉に瑕。

PyQt4も2.7のバイナリがなく、自前でビルドしようとも思ったのですが、Qtの大量のソースをダウンロードする必要があるようなので、今回はあきらめます。

その他

以下は、easy_installでどんどんダウンロードしていきます。

$ easy_install pyreadline
pyreadline
インタラクティブシェルでタブ補完をできるようになります。Windowsでは絶対必要。
nose
テスト用ライブラリ。標準のUnitTestよりも簡単に書ける。
python-dateutil
標準のdatetimeの拡張。日付の文字列を柔軟に読み込んだり、タイムゾーンを扱うのに便利です。
enum
数ある列挙体(enum)ライブラリの一つ
pylint
変数名の付け方など、コーディングスタイルを採点します。あまり使ってません。
pep8
PEP8スタイルガイドにしたがっているかチェック。わざわざチェックするほどの実用性は疑問な、半ばネタ?
scons
ビルドツール。つまりMakeやAntと同じ種類。Sconsは起動が遅いのと、Pythonを書くには必要ないのが欠点。
yaml
その名の通りYAMLデータフォーマットを扱います。YAMLは設定ファイルなどに良く使われます。
BeautifulSoup
HTML解析。壊れたHTMLもなんとか読み込んでくれます。
feedparser
RSSやAtomを読み込みます。
ftputil
標準のftplibより高級なFTPの取り扱い。
html
htmlをwith文を使って記述します。たまに便利?
iterutils
itertools + helpのitertoolsの項にあるレシピ
see
インタラクティブシェルで、dirやvarsよりちょっと見やすいsee関数を提供。

PYTHONSTARTUP

PYTHONSTARTUPという環境変数がセットされていると、インタラクティブシェルは起動時に、PYTHONSTARTUPで指定されたファイルを実行します。

ここで、readlineやrlcompleterをセットアップすると、インタラクティブシェルが数段使いやすくなるでしょう。その他、osやsysなど良く使うモジュールをimportしておくといいかもしれません。

#encoding:utf-8
#_pythonstartup.py
from __future__ import division, print_function
import sys
from see import see
import sys
import os
import shutil
import itertools
import functools
from itertools import *
from functools import *
import math
import re
import random
from pprint import *
from collections import *
import copy
import time
import operator
from operator import *
import string
import types
import threading
import subprocess


if (2, 6, 0) <= sys.version_info:
    import io
    
from iterutils import *
import iterutils 
    
import rlcompleter
import readline
import atexit
    
readline.parse_and_bind('tab: complete')
    
histfile = os.path.join(os.environ["HOME"], "_pythonhistory")
try:
    readline.read_history_file(histfile)
except IOError:
    pass
atexit.register(readline.write_history_file, histfile)

他に、おススメのモジュールなどがあったら、教えてください。