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

physickのまったり生活

まったり工学系のお話をしたいですね

Emacsに便利な補完機能jediをインストールする

Ubuntu emacs

さて、ドキドキしながらもメインPCをUbuntuWindowsデュアルブート化した筆者です。

研究室に配属されてUbuntuをメインで使うようになってきました。基本Emacsでコーディングするのですが、自動補完機能が標準ではついていないので、今回は補完機能jediを導入します。

下には簡潔にやり方のみを書きますが、軽く半日はハマっていました。。。

こういう、インストールでつまずく問題はいつの時代になったら解決するのやら・・・

 

まずは、MELPAを導入。"MELPA"とはEmacsの便利なパッケージ管理機能です。

Emacsの設定ファイル(自分の場合~/.emacs)に

(require 'package) ;; You might already have this line
(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/"))
(when (< emacs-major-version 24)
  ;; For important compatibility libraries like cl-lib
  (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))
(package-initialize) ;; You might already have this line

を追記します。(参考:http://melpa.milkbox.net/#/getting-started)

これで、MELPAのパッケージを簡単にインストールできるようになります。

 

次にjediをインストールします。

emacsを再起動して、

M-x package-list-packages

と入力。(これが現れない場合は上の設定が上手く行っていない。)

しばらくするとパッケージのリストが現れるので、

C-s jedi

でjediを検索、選択してインストールします。(これだけではまだjediを使い始められないので注意)

 

次に、jediをインストールしたフォルダにload-pathを通します。

emacsの設定ファイルを開いて、

(setq load-path (cons "~/.emacs.d/elpa" load-path))

を追記。("~/.emacs.d/elpa"となっている部分は、jedi等のフォルダが格納されているディレクトリとします。melpaで行えばこうなっているはず。)

さらに、jediモードのトリガーを設定。

pythonで使用する場合は以下をemacsの設定ファイルに追記。

(add-hook'python-mode-hook'jedi:setup)

(参考:http://tkf.github.io/emacs-jedi/latest/)

Emacs再起動後、

M-x jedi:install-server

と入力して、めでたく終了です。

ちなみに、virtualenvがないと上のコマンドが上手く機能しないので、入れておきましょう。

 

※上の手順で上手く行かない場合・・・

環境によっては上の手順で上手く行かない場合があるようです。

その場合に試すべき手順を紹介します。

まず、~/.emacs.d/elpa/jedi-0.2.7/等の、jediのディレクトリまで移動し、

必要な場合は、

$ virtualenv env
$ source env/bin/activate

でvirtualenv環境をつくってから、

このディレクトリ(~/.emacs.d/elpa/jedi-0.2.7/等の、jediのディレクトリ)で

$ pip install jedi epc

を実行します。環境によって、pip2またはpip3も試してみましょう。

これで上手く行く場合があります。