病みつきエンジニアブログ

機械学習、Python、Scala、JavaScript、などなど

jedi-vimでanacondaのパッケージを補完させる

jedi-vimという、vimで(賢く)Pythonの補完などをしてくれるプラグインがあります。vimPython書くなら必須かも、というレベル。

当たり前(?)の話ですが、pipでインストールしたようなPythonのパッケージ群も、賢く補完してくれます。

しかし、デフォルトで使用するPythonが、システムのPython(/usr/bin/python)らしく、必然的にシステムのpipでインストールしたものしか補完してくれません。

そこで、anacondaのpipでインストールしたものなども補完できるようにしてみました。

やり方

やり方は単純で、~/.vim/ftplugin/python.vimの中に、以下のスクリプトを書くだけ。

python << EOF
import os
import sys

home = os.path.expanduser("~")
path = home + "/anaconda/lib/python2.7/site-packages"
if not path in sys.path:
  sys.path.insert(0, path)
EOF

要するに、anacondaのsite-packagesをsys.pathに追加しているだけです。同じ要領で、パッケージのディレクトリを増やすことも可能でしょう。

(おまけ) virtualenvを使う

virtualenvで管理している場合は(anacondaの場合そんなことできるのかしらんけど)、jmcantrell/vim-virtualenvを使うとvirtualenv環境のpythonが使われるらしい。試してないので知らないけども。