ホーム > Emacs, Python > EmacsでPythonの設定

EmacsでPythonの設定

最近Pythonいいなぁと思ってPython始めているのですが、コードを書くにあたってエディタの設定も多少しとかないと、ということでEmacsでPython回りの設定をしました。あんまりヘビーなことはしないので、とりあえず今回はpython-mode.elとflymakeの設定だけしています。

python-mode.el

ここからpython-mode.elをダウンロードして load-path が通っているところに置きます。自分はこんな感じのコードを .emacs に書いています。

(add-hook 'python-mode-hook
          '(lambda ()
             (setq indent-tabs-mode nil)
             (setq py-indent-offset 4)))

flymake(PyFlakes)

Pythonのコードのシンタックスチェックを行うPyFlakesというソフトウェアをダウンロードして下記の要領でインストールします。

$ tar xvzf pyflakes-0.4.0.tar.gz
$ cd pyflakes-0.4.0
$ sudo python setup.py install

DebianやUbuntuにはdebがあるので

 sudo aptitude install pyflakes

すればよいでしょう。あとは下記の設定を .emacs に追加すれば、.pyなファイルを保存したときに pyflakes によるシンタックスチェックが走ります。

(defun flymake-python-init ()
  (let* ((temp-file (flymake-init-create-temp-buffer-copy
                     'flymake-create-temp-inplace))
         (local-file (file-relative-name
                      temp-file
                      (file-name-directory buffer-file-name))))
    (list "pyflakes" (list local-file))))
 
(defconst flymake-allowed-python-file-name-masks '(("\\.py$" flymake-python-init)))
(defvar flymake-python-err-line-patterns '(("\\(.*\\):\\([0-9]+\\):\\(.*\\)" 1 2 nil 3)))
 
(defun flymake-python-load ()
  (interactive)
  (defadvice flymake-post-syntax-check (before flymake-force-check-was-interrupted)
    (setq flymake-check-was-interrupted t))
  (ad-activate 'flymake-post-syntax-check)
  (setq flymake-allowed-file-name-masks (append flymake-allowed-file-name-masks flymake-allowed-python-file-name-masks))
  (setq flymake-err-line-patterns flymake-python-err-line-patterns)
  (flymake-mode t))
(add-hook 'python-mode-hook '(lambda () (flymake-python-load)))

実行イメージとしてはこんな感じ。

pyflakes_on_emacs

ちなみに自分は C-c e でエラー内容が表示できるように下記の設定も足しています。

(defun next-flymake-error ()
  (interactive)
  (flymake-goto-next-error)
  (let ((err (get-char-property (point) 'help-echo)))
    (when err
      (message err))))
(global-set-key "\C-c e" 'next-flymake-error)

さて、これからPythonのコードをガンガン書いていきます!

みんなのPython 改訂版

著者/訳者:柴田 淳

出版社:ソフトバンククリエイティブ( 2009-04-11 )

単行本 ( 484 ページ )



こちらもあわせてどうぞ


カテゴリー: Emacs, Python タグ: ,
  1. コメントはまだありません。
  1. トラックバックはまだありません。