読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

『python-mode.el』と『pymacs』と『pycomplete.el』と

Emacs Python

EmacsPython-mode は2種類あったりする。
たしか現在のEmacsデフォの『python.el』と、それ以前からあってこっちの方が使ってる人多そうな『python-mode.el』。


初めは『python-mode.el』使ってたんだけど、PC新調とか再インスコとかしたとき設定が楽かもと思って『python.el』使ってる現在。


pymacsとかpycomplete.elも試してみようかなーということでやってみた。
んで、インストール&設定がわけわかんなかったのでメモがてら。


(環境: MacOSX10.4, python2.5, CarbonEmacs-Tiger-20080418)

pymacs

ダウンロード

downloadから『Pymacs-0.23.tar.gz』落とす

インストール

解凍するとできるPymacs-0.23の『setup.py』ファイルのあるディレクトリに入ってインストール
(例:ディスクトップで解凍した場合)

cd ~/Desktop/Pymacs-0.23/Pymacs-0.23/
sudo python setup.py install

インストールすると、このディレクトリに『pymacs.el』ができるのかな?
それをEmacsのパス通ったとこに置く。

python-mode.el

ダウンロード

解凍するとディレクトリ以下に次のファイルがあるはず

  • python-mode-5.1.0
    • doctest-mode.el
    • pycomplete.el
    • pycomplete.py
    • python-mode.el
    • README

『pycomplete.el』と『python-mode.el』をEmacsのパス通ったとこに置く。
doctest-mode.elってなんですか?

.emacs.el

"YOUR-PYMACS-DIRECTORY" は "~/pymacs-dir"とかお好きな場所に。
そこに上記ダウンロードした『pycomplete.py』置く。(※〜.pyの方だよ!)
以下.emacs.elに書く設定例

;; pymacs
(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"
  '(add-to-list 'pymacs-load-path "YOUR-PYMACS-DIRECTORY"))
;; python-mode, pycomplete 
(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)
(add-hook 'python-mode-hook '(lambda ()
                               (require 'pycomplete)
                               ))

テスト

一応、Emacsを再起動してから

.pyファイルを開いてみる。

hoge.py』とかPythonのファイルを作るか開く。
エラーでなければとりあえずOK。

pycompleteの補完を試す。

hoge.pyとかで以下を書いてみる

import time
time.cl#ここでM-tabを押して補完できるか確認。

「time.clock」となればOK。

感想

  • python-mode.el
    • とりあえず設定するまで面倒くさい気がする。特にpymacsが。
    • Execute buffer で 結果だけ表示できるのは好き。
    • たぶんipython.elとか使えるのが良いのかもしれない。使ったことないからよく解らんけど。
  • python.el
    • Carbon Emacs だと何の設定もすること無く python-mode が使える。補完も色づけも。
    • 評判はよろしくないらしい。理由はわかんないけど。
    • 最新版を使うと良いらしい。理由・やり方->『http://www.mkvenkatesh.com/archives/182』の「2.2 Emacs 22」あたり。
    • pymacsをインスコしたくない人とか、設定簡単なのがいい人には良い感じなのかな。


補完に関しては自分は独自のもの使ってるから、python.elでもpython-mode.elどっちでもいい気がするなー。