Python+iPython+Emacsの設定 (Mac)
今まで何を思ったかipythonはwindows用のpythonだと思っていて、調べたところより便利なpythonシェルだということが判明したので入れてみた。
iPythonには基本的なunixコマンドが移植されていて、それでwindowsでcygwing代わりにiPython起動してる人が多いらしい。それで勘違いしたんだろう。たぶん。
導入
iPython導入の解説はたくさんあったけど、easy_installからいれるのが迷わなくてよかった。
sudo easy_install ipython
rc
pythonインタプリタは起動時にbashで指定されたPYTHONSTARTUPのpythonを読んでくれるのだけど、iPythonは別にrcファイルを持っていて、そっちを設定してやらなきゃいけないっぽい
~/.ipython/ipythonrc の末尾に以下を記入
execfile ~/.pyrc
Python基礎文法最速マスター - D++のはまり日誌で紹介されてたseeライブラリが便利だったので、指定しておく。
~/.pyrc
from see import see import os,sys
もっと詰め込んでもいいんだけど、頻繁に起動するものを重くするのも嫌なので。
ipython -p math などで個別に読み込むプリセットを指定できるみたいだ。
Emacs上で iPython
python-mode(python.el)ではないpython-mode(python-mode.el)をいれる。
http://launchpadlibrarian.net/21781107/python-mode.el
http://ipython.scipy.org/dist/ipython.el
.emacs.elに追記
(autoload 'python-mode "python-mode" "Python Mode." t) (add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode)) (add-to-list 'interpreter-mode-alist '("python" . python-mode)) (setq ipython-command "/usr/local/bin/ipython") (require 'ipython)
これで pythonモードで C-c!すれば ipythonが起動する。
これから
pymacsを使った補完、pycomplete ropemacs pysmell を三つとも試したんだけど、どれも上手くいかなかった。現状どうしようもないので放置する
viper-modeでノーマルモードに戻るときにIMをオフにしたいんだけど、いい方法ないかなぁ。
(setq ipython-command "/usr/local/bin/ipython")
(require 'ipython)