jediによるpythonコード補完 with Emacs on Windows
背景
年始なのでEmacsの設定を見直すことにした。大学時代に作った環境をずっと使っていたが、あれからpackage.elによるパッケージ管理が主流となり、自分の環境が時代遅れのものとなっていた。(auto-completeよりはcompany-modeがいいとか)
pythonのコーディング環境はipythonで満足していたが、Emacsでも関数の補完やヘルプの表示がしたくなったので、パッケージをインストールした。インストールするパッケージはjedi。
環境
- windows 10
- Git bash
- Miniconda
- python35
- jedi
自分はMinicondaでpythonの仮想環境を複数(py34, py35)用意している。
今回はpython35の方で環境を構築した。
インストールしているパッケージはこんな感じ。
方法1(失敗)
Jedi.el - Python auto-completion for Emacs — Emacs Jedi 0.2.0alpha2 documentation
ここのQcuick startの通りにインストールしてみたが、
M-x jedi:install-server
を入力してもエラーが出てうまく実行できなかった。なんとかこちらでできるようにいつか再挑戦する。
方法2(成功)
以下のサイトを参考にさせてもらった。
Pythonがサクサク書ける!emacsにjediをインストールする。 - import nan-ch
まず、python3.5の仮想環境を選択。(事前に作った仮想環境)
$ source activate C:/Users/Bell/Miniconda3/envs/py35
仮想環境をアクティベートした状態で、pipで以下をインストール。
$ pip install jedi epc
最後に、~/.emacs.d/init.elに以下を追加した。
(require 'epc) (require 'auto-complete-config) (require 'python) ;; 補完対象とするソースコードまでのパス (setenv "PYTHONPATH" "/usr/local/lib/python2.7/site-packages") (require 'jedi) (add-hook 'python-mode-hook 'jedi:setup) (setq jedi:complete-on-dot t)
これでうまくいった。