python in Emacs環境の整備__基礎環境編__

NO IMAGE

ここ日本ではEmacs,PythonいずれもVim、Rubyと比較すればマイノリティ。ので、この組み合わせの開発環境って作ろうと思うと結構大変だったりします。
というわけで、いぢりまくっていたEmacsのpython環境がようやく固まってきたのでメモとしてまとめておきます。
結構長くなりそうなので、2部構成とし今回は基礎環境編ということで次のelispを入れていきます。
-python-mode.el
-pymacs.el
-ipython.el

導入(ubuntuの場合)

[cpp]
sudo apt-get install python-mode ipython pymacs
[/cpp]
終了。

導入(Winの場合)

ubuntuのようにaptみたいな仕組みがないのでお手軽にはできません。ちょっと面倒くさいですがいちから入れていきます。いい加減Winもちゃんとしたパッケージ管理システム作ってくんないですかねー。
それとipythonはインストールはできたのですが、なぜかEmacsからよべません。。。どなたか使えるよ、という方いたら教えてください。

pytho-mode.el(ubuntu,win)

python-mode.elはバッファ、リージョン、現在行での実行やpythonには必須な推測インデント機能、ジャンプ機能やインタプリタとの連携機能がつかえる便利なelisp。ちなみにEmacs標準でついてくるpython-modeはpython.elというもので、見た目は変わらないもののいろいろとバグが多いみたい。ちなみにpython.elではwxpython使ったスクリプトがうまく動きませんでした。それといろいろと機能が追加できるのはpython-mode.elの方なので、今回はこちらを入れていきます。まずはこちらからelispをとってきてロードパスの通ったとこに置きます。
[cpp]
(require ‘python-mode)
(setq auto-mode-alist (cons ‘("\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist (cons ‘("python" . python-mode)
interpreter-mode-alist))
(autoload ‘python-mode "python-mode" "Python editing mode." t)
[/cpp]

pymacs

pymacsはelispとpythonインタプリタ間を取り持つインタフェイス。emacs上でインタプリタ使うなら必須です。入れておきましょう。
こちらから必要なものを落としてきてきたものを解凍して中で、python setup.py install します。そして、解凍したフォルダの中にあるelispをロードパスの通ったとこに入れて.emacsに以下を追加
[cpp]
(autoload ‘pymacs-apply "pymacs")
(autoload ‘pymacs-call "pymacs")
(autoload ‘pymacs-eval "pymacs" nil t)
(autoload ‘pymacs-exec "pymacs" nil t)
(autoload ‘pymacs-load "pymacs" nil t)
(eval-after-load "pymacs"
[/cpp]

ipython

ipythonはPythonの拡張シェル。とりあえず多機能です。オブジェクトのインスペクトとか、タブ補完とか、ヒストリ機能とかシェルスクリプトとかゴチャゴチャにしてもおkとか、バックグラウンド実行とかもうめちゃくちゃです。興味のある方は本家サイトへどぞ。
bCookbook – IPython
なんですが、Win環境ではEmacs上で実行できませんでした。ま、なかったらなかったでどうかなるしね、とかいってお茶を濁しておこう。

次回予告とか

今回は、Emacsでpython動かす際に必須なelispについて書いてみました。これだけ入れるだけでもかなり効率上がりますね。次回は、yasnippetとかauto-complete.el使ったオムニ補完やropemacs使ったリファクタリングについてまとめる予定です。

[tmkm-amazon]4774143278[/tmkm-amazon]

[tmkm-amazon]4877832718[/tmkm-amazon]

[tmkm-amazon]487311277X[/tmkm-amazon]