きそくただしいせいかつ

日々の生活のペースセッター

CentOS 7.5 に jedi-vim を入れてコード補完しよう(と思って手こずった話)

内容はタイトルのとおりなんですが、 WindowsVSCode 使ってみると、コード補完あったほうがいいよなと思いはじめ、CentOS だとなんとなく Vim 使っているので、以下の記事を参考にやりはじめたのですが。。。

yuukiyg.hatenablog.jp

qiita.com

VimPythonインターフェースが有効になっていない

上記参考に dein.vim / jedi-vim をインストール、設定してみたのですが、実際に Pythonスクリプトvim で開いてみると、 python がない旨のエラーが出る。ので、ググってみたところ、以下の記事を発見。

もともと何の気なしに CentOS に入っている vim を使ってたんですが、 Python インターフェースが有効になっていないのでした。

kashewnuts.github.io

有効になっている / なってないは以下のコマンドで python / python3 に + マークが付いていれば有効、 - マークが付いていれば無効です。

$ vim --version 

python-devel を入れてなかった

なので、以下の記事を参考に vim8.1 をインストールしはじめたんですが、ここでもひっかかりました。

goodbyegangster.hatenablog.com

CentOS7.4にソースファイルからVim version 8をインストールする – StupidDog's blog

特にあまり深く考えず、上記参考に以下の通り configure したのですが、 python の configuration directory がないと怒られているっぽい。

$ sudo ./configure --with-features=huge \
--enable-multibyte --enable-gui=gtk2 --enable-perlinterp \
--enable-pythoninterp --enable-python3interp  --enable-tclinterp \
--enable-luainterp=dynamic --with-lua-prefix=/usr --enable-gpm \
--enable-acl --enable-cscope --enable-fontset --enable-xim --enable-fail-if-missing

(中略)

checking --enable-perlinterp argument... no
checking --enable-pythoninterp argument... no
checking --enable-python3interp argument... yes
checking --with-python3-command argument... no
checking for python3... /bin/python3
checking Python version... 3.4
checking Python is 3.0 or better... yep
checking Python's abiflags... m
checking Python's install prefix... /usr
checking Python's execution prefix... /usr
checking Python's configuration directory...
can't find it!

いろいろググると、 python の configuration directory を configure するときに渡してやればいいとか、出てくるのだが、結果的には以下の StackOverflow にあるとおり、 python-devel (以下は ubuntu なので python-dev) が足りなかった。

stackoverflow.com

この後も configure したときの引数に合わせて、いろいろ足りないと言われた package を追加して、なんとか Vim をインストールでき、コード補完を使えるようになりました。

f:id:k_kane:20181124165958p:plain

ちょっとフラストしましたが、やったことのないことはやってみると勉強になるもんでした。