Emacsでelpyを使ったPython開発環境を設定した
elpyを入れたので、インストール方法と設定を書いておきます。ちょっとつまったのででそれの解決法のメモを兼ねてます。
環境
Mac OS X 10.14.5
Emacs 26.1
elpyとは?
Emacs用のPython開発環境です。これ一つで必要なパッケージが一通り揃います。
elpyを使えるようにする
普段package-install
を使っているのですが、なぜかうまくいかなかったので、M-x package-list-packages
でインストールしました。
使えるようにするにはinit.el
などに
(package-initialize) (elpy-enable)
と書いておきます。pythonファイルを開けば勝手に使えるようになります。
必要に応じて、各種ツールをインストールしておきます。
設定
pythonを使うために色々設定したので載せておきます。現在どのツールを使っているかはM-x elpy-config
でチェックできます。
足りないパッケージがあれば教えてくれるので、それに従って必要なものをインストールします。
marmaladeでインストールしたら自動フォーマッタ(yapfとかblackとか)をelpaが認識してくれなかったので、elpaのものを入れ直したらうまく行きました。
以下は個人的な設定です。
(add-hook 'elpy-mode-hook '(lambda () ;; keybind (define-key elpy-mode-map (kbd "C-,") 'elpy-nav-indent-shift-left) ;; 左にインデント1つ分移動 (define-key elpy-mode-map (kbd "C-.") 'elpy-nav-indent-shift-right) ;; 右にインデント1つ分移動 (define-key elpy-mode-map (kbd "s-c s-s") 'elpy-shell-switch-to-shell) ;; インタラクティブシェルを開く ;; format code automatically (add-hook 'elpy-mode-hook 'py-yapf-enable-on-save))) ;; use flycheck (when (require 'flyckeck nil t) (remove-hook 'elpy-modules 'elpy-module-flymake) (add-hook 'elpy-mode-hook 'flycheck-mode))
標準ではシンタックスチェックにflymakeを使っているようなのでflycheckを使うようにしています。
yapfを使って、バッファを保存した時に自動整形を行うようにしています。
まだ導入したばかりなので、使っていくうちにやりたいことも増えて設定も増えてくるかもしれませんが、とりあえずこんなものかと。現時点でデバッガを使いこなせてないのできちんと使えるようになりたい。