ラベル python の投稿を表示しています。 すべての投稿を表示
ラベル python の投稿を表示しています。 すべての投稿を表示

2010年10月29日金曜日

IPython 0.11.alpha1.git

このIPython最新版では、設定ファイルの書式がかなり変更されているようだ。
以下に最新のチュートリアルが用意されている。
IPython Documentation

Windows上でipython-qtconsoleを使う

とりあえずのメモ。QtコンソールからIPythonシェルが使えると、リッチなUIでかつWindows上のreadlineの問題を考えなくてすむようになるので、是非とも誰もが導入できるようにしておきたい。

まず基本となるIPythonの取得先。
`ipython`コマンドで通常起動するだけならこれだけでOK。`ipython-qtconsole`コマンドでQtコンソールを起動したい場合には追加ライブラリのインストールが必要となる。必要なライブラリと取得先は以下。 IPython/PyQt4はWindowsインストーラで導入できる。zmqはVisual Studioでビルドしなければならないので少し手間がかかる。pyzmqは先にビルドしたzmqのヘッダーファイル・ライブラリファイルの位置をsetup.cfgで設定する必要があるので注意。

追記:

例のこのサイトからzmqライブラリのバイナリが付属したpyzmqのWindowsインストーラを持ってくることが出来るようだ。これを使えば導入も簡単だと思われる。

Windows上にreadline/IPythonを導入する

以下、まだ書きかけ、とりあえずメモ。

自分でパッチ当てする箇所があったりして何かと手間取ったのでメモ&改変コード公開しておく。

pyreadline

PyReadline/Intro - IPython
インストールは、リポジトリからbzrでソースコードを取得して`python setup.py install`するのがお勧め。
bzr branch lp:pyreadline 
面倒な場合は、Windowsインストーラも配布されているのでこれを使えばOK。
pyreadline - a python replacement of readline in Launchpad

2010年10月28日木曜日

PythonのfileとTextIO

以下、まだ書きかけ。

Python2とPython3で変更になった部分なのでメモしていく。 まず、Iterableインターフェイスを持つことは変わっていないので、ユーザから見ると使い方は同じということは指摘しておく。(余談: OS上にあるファイル・ストレージを扱うためには、この外部イテレータ方式の方が汎用性があるし、分かりやすくもあるので望ましいと思う。破壊的操作可能なコレクションの場合も、これももう単なる一種のストレージであるので、同じこの方式で良いと思う)

`sys.stdin`はPython2/3共に`Iterable`となる。
$ isinstance(sys.stdin, Iterable)
True

`sys.stdin`のtype(class)はPython2では`file`だったが、Python3では`TextIO`扱いとなっている。これはUnix的な「ファイル(file)」では区分けが曖昧すぎるからということだろう。実際、Javaではストリーム関連のクラスはかなり細かく区分されていた。
Python2の場合:
$ type(sys.stdin)
<type 'file'>

Python3の場合:
$ type(sys.stdin)
<class '_io.TextIOWrapper'>

2010年10月21日木曜日

Numpy/ScipyをWindows上でビルド・インストール

かなり気合い入れてやってみる必要があるのだが。数値計算系ツールは最適化に時間がかかるのかLAPACK/ATLAS共にものすごくビルドに時間がかかる。エラーも出やすくて本当に大変。

LAPACK/ATLASをCygwinでビルド

http://www.db.is.kyushu-u.ac.jp/rinkou/cygwin/atlas.html
が非常に参考になる。スクリーンショットつきで丁寧に解説。

LAPACKは線形領域の制約ソルバー、BLASは線形代数(行列計算)用のコア演算APIライブラリ仕様、ATLASはその仕様に対して各環境向けに自動最適化される実装ということ。

* LAPACK: http://www.db.is.kyushu-u.ac.jp/rinkou/cygwin/lapack.html
* ATLAS: http://www.db.is.kyushu-u.ac.jp/rinkou/cygwin/atlas.html

* 1. LAPACKのビルド
Cygwin用にパッチ当てしなければならない。ATLASのビルドで生成されるファイルの不足によるエラーは無視してとりあえずそのままインストール。

* 2. ATLASのビルド
途中で`3dnow_install.exe`の実行によりエラーが出てしまうので、このexeは削除して再実行。3dnowはAMD向けだからエラーが出たと思われる。

* 3. LAPACK再ビルド

* 4. Numpy/Scipyのビルド

Numpy/Scipyのビルド

本サイトとの説明
http://www.scipy.org/Installing_SciPy/Windows
を読んで進めるのみ。