emacsのpython-modeパッケージのインストール方法

emacsのpython-modeパッケージのインストール方法をまとめました。

emacs24を使っています。


1 インストール方法

emacs24でM-x package-list-packagesでpython-modeをインストールします。

2 .emacsの設定

autoloadでpython-modeをロードします。

.pyという拡張子でpython-modeを呼び出すのはpython-mode.elで実行しているようなので、記載していません。

(autoload 'python-mode "python-mode" "Python editing mode." t)
(custom-set-variables
  '(py-indent-offset 4)
)
(add-hook 'python-mode-hook
  '(lambda()
    (setq tab-width 4) 
    (setq indent-tabs-mode nil)
  )
)

個人的にインデントはwhitespaceのタブ幅2が好きなのですが、 pythonのコーディングガイドの提案にwhitespaceのタブ幅4にせよと記載されているので、それに習います。

Indentation
Use 4 spaces per indentation level.

以下のようにデフォルト値でタブを設定している場合はadd-hook不要です。

(autoload 'python-mode "python-mode" "Python editing mode." t)
(custom-set-variables
  '(py-indent-offset 4)
)
(setq-default tab-width 4)
(setq-default indent-tabs-mode nil)

3 PyCheckerのインストール

PyCheckerのサイトからアーカイブをダウンロードしてインストールします。

$ tar zxf pychecker-0.8.19.tar.gz 
$ cd pychecker-0.8.19
$ python setup.py build
$ sudo python setup.py install

4 ショートカット

使えそうなpython-modeのショートカットを記載します。

これ以外にも関数本体を畳んだり展開したりするoutline-minor-modeのショートカットも有効になるようです。

 

tabキー インデントの選択(複数回押して位置決定)
C-cキー C-rキー インデントを右側にシフト
C-cキー C-lキー インデントを左側にシフト
C-cキー C-wキー PyCheckerで構文チェックとスクリプト実行

 

C-cキー C-cキーでもスクリプト実行できますが、使いづらいです(ウィンドウ分割が解除され、スクリプト編集画面に強制的に戻らされる為、実行画面を確認するのに手間が掛かる)。

C−cキー C-wキーで構文チェックとスクリプト実行することをお勧めします。

4.1 動作不安定かも

py-sort-importsでup-listのエラーが出てimport文がソートできません。

Scan error: "Unbalanced parentheses", 12, 1