ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

IPythonを使う

ネットを、ぼ〜っと眺めていると、以下のネタがあり、

Rubyist Magazine - Rubyist のための他言語探訪 【第 1 回】 Python
http://jp.rubyist.net/magazine/?0008-Legwork

で、Python関係の方のトラックバックで、IPython がいいよってネタ振りがあった。
Python for Cygwinに添付されているIDLEが X Window 上でないと動かないのと、コード補完してくれないので むぅと思っていたので、インストールしてみる事にした。

オフィシャルは、↓ここ。

IPython - An enhanced Interactive Python
http://ipython.scipy.org/

何ぞ、readline も必要っぽいので、それもDLしてくる。
(後、PyWin32とCTypesもね。両方共、前回入れておいたので、今回は readlineだけ入れた)

Windows instructions
http://ipython.scipy.org/doc/manual/node2.html#sub:Under-Windows
SourceForge.net: Project Info - UNC Python Tools
http://sourceforge.net/projects/uncpythontools

IPython for Windows

まず、Python for Windows版からね。

$ python -V
Python 2.3.4

以下のファイルを次々実行。

  • readline-1.12.win32.exe
  • ipython-0.6.15.win32.exe

インストールすると、WindowsのStartメニューにIPythonが追加された。
実行すると、↓こんな感じ。おぉ!

Python 2.3.4 (#53, Sep 20 2004, 11:44:16) [MSC v.1200 32 bit (Intel)]
Type "copyright", "credits" or "license" for more information.

IPython 0.6.15 -- An enhanced Interactive Python.
?       -> Introduction to IPython's features.
%magic  -> Information about IPython's 'magic' % functions.
help    -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.

In [1]:

適当にモジュール名とか突っ込んで、"."を入れて TAB キーを押すと、補完してくれるよ!

In [3]: sys.
sys.__displayhook__       sys.exc_info              sys.modules
sys.__doc__               sys.exc_type              sys.path
sys.__excepthook__        sys.excepthook            sys.path_hooks
sys.__name__              sys.exec_prefix           sys.path_importer_cache
sys.__stderr__            sys.executable            sys.platform
sys.__stdin__             sys.exit                  sys.prefix
sys.__stdout__            sys.exitfunc              sys.setcheckinterval
sys._getframe             sys.getcheckinterval      sys.setprofile
sys.api_version           sys.getdefaultencoding    sys.setrecursionlimit
sys.argv                  sys.getfilesystemencoding sys.settrace
sys.builtin_module_names  sys.getrecursionlimit     sys.stderr
sys.byteorder             sys.getrefcount           sys.stdin
sys.call_tracing          sys.getwindowsversion     sys.stdout
sys.callstats             sys.hexversion            sys.version
sys.copyright             sys.ipcompleter           sys.version_info
sys.displayhook           sys.maxint                sys.warnoptions
sys.dllhandle             sys.maxunicode            sys.winver
sys.exc_clear             sys.meta_path             sys.__class__

IPython for Cygwin

次は、IPython for Cygwin版を入れよう。

以下のファイルをDLしておく。

  • ipython-0.6.15.tar.gz
  • readline-1.12.zip

で、Cygwinプロンプトに入って、解凍→インスコ。

$ python -V
Python 2.4.1

$ unzip readline-1.12.zip
Archive:  readline-1.12.zip
  inflating: readline-1.12/PKG-INFO
  inflating: readline-1.12/setup.py
  inflating: readline-1.12/readline/Console.py
  inflating: readline-1.12/readline/keysyms.py
  inflating: readline-1.12/readline/PyReadline.py
  inflating: readline-1.12/readline/__init__.py
$ cd readline-1.12
$ python setup.py install
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/readline
copying readline/Console.py -> build/lib/readline
copying readline/keysyms.py -> build/lib/readline
copying readline/PyReadline.py -> build/lib/readline
copying readline/__init__.py -> build/lib/readline
running install_lib
creating /usr/lib/python2.4/site-packages/readline
copying build/lib/readline/Console.py -> /usr/lib/python2.4/site-packages/readli
ne
copying build/lib/readline/keysyms.py -> /usr/lib/python2.4/site-packages/readli
ne
copying build/lib/readline/PyReadline.py -> /usr/lib/python2.4/site-packages/rea
dline
copying build/lib/readline/__init__.py -> /usr/lib/python2.4/site-packages/readl
ine
byte-compiling /usr/lib/python2.4/site-packages/readline/Console.py to Console.p
yc
byte-compiling /usr/lib/python2.4/site-packages/readline/keysyms.py to keysyms.p
yc
byte-compiling /usr/lib/python2.4/site-packages/readline/PyReadline.py to PyRead
line.pyc
byte-compiling /usr/lib/python2.4/site-packages/readline/__init__.py to __init__
.pyc
$ cd ..
$ tar xzvf ipython-0.6.15.tar.gz
ipython-0.6.15/
ipython-0.6.15/IPython/
ipython-0.6.15/IPython/Extensions/
...
$ cd ipython-0.6.15
$ python setup.py install
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/IPython
...

これでインスコ終わり。

$ ipython
**********************************************************************
Welcome to IPython. I will try to create a personal configuration directory
where you can customize many aspects of IPython's functionality in:

/home/wacky/.ipython

Successful installation!

Please read the sections 'Initial Configuration' and 'Quick Tips' in the
IPython manual (there are both HTML and PDF versions supplied with the
distribution) to make sure that your system environment is properly configured
to take advantage of IPython's features.
Please press <RETURN> to start IPython.
**********************************************************************
Python 2.4.1 (#1, May 27 2005, 18:02:40)
Type "copyright", "credits" or "license" for more information.

IPython 0.6.15 -- An enhanced Interactive Python.
?       -> Introduction to IPython's features.
%magic  -> Information about IPython's 'magic' % functions.
help    -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.

In [1]:

うひょ、動いた。
…ところで、コード補完させると、↓こんな感じに、楽しい表示になっちゃう。

In [2]: sys.s.ve
sys.version       sys.version_info

In [2]: sys.versionon
Out[2]: '2.4.1 (#1, May 27 2005, 18:02:40) \n[GCC 3.3.3 (cygwin special)]'

まぁ、とりあえず動作に支障が無いので、放っておいてるが。