Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

jedi-vimでanacondaで入れたライブラリを補完する

$
0
0

環境

  • OSX 10.10.5
  • MacVim 7.4
  • anaconda-2.3.0 (python2.7.10)
  • python2.7.10 (システムのpython)

pyenvを使用していてvirtualenvは未使用

PYENV_ROOTはホームディレクトリ直下

やりたいこと

vimのプラグインであるjedi-vimはデフォルトだとpyenv等で使用するpythonを切り替えていてもシステムのpythonを参照してしまう。
このため、anacondaやpyenvで設定したpythonで入れたライブラリの補完をしてくれない。
これを補完してくれるようにしたい。

解決策

jedi-vimが補完してくれるのはpythonのsys.pathの中にあるライブラリのため、ここにanacondaのsite-packagesを追加してあげれば補完されるようになります。
解決策としてはftplaguinでpythonファイルを読み込む時に直接sys.pathを書き換える方法とpthファイルをおいていて読み込んでもらう方法の2つがあります。

ftplaguin

.vim/ftplaguinフォルダ内にpython.vimを置く

python << EOF
import os
import sys

path = os.path.expanduser("~/.pyenv/versions/anaconda-2.3.0/lib/python2.7/site-packages")
if not path in sys.path:
    sys.path.append(path)
EOF

pthファイルを使用

/Library/Python/2.7/site-packagesの下にanaconda.pth(ファイル名は .pth になっていれば何でも平気)として参照先を置く
/Library/Python/site-packagesの中を編集するにはsudo権限が必要

~/.pyenv/versions/anaconda-2.3.0/lib/python2.7/site-packages

確認

vimを起動して以下を実行した時に追加したパスが入っていれば成功してます。

:py print(sys.path)


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>