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用バイナリが無いので、これ等を使いたいなら、自分でビルドしなくてはなりません。
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ライブラリ。
PythonのGUIライブラリは標準で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)
他に、おススメのモジュールなどがあったら、教えてください。