pyenv
でバージョン管理をしている環境でjedi-vim
をインストールしたがVimを起動すると下記エラーが表示されて使えなかった。
function jedi#init_python の処理中にエラーが検出されました: 行 7: Error: jedi-vim failed to initialize Python: jedi-vim requires Vim with support for Python 2 or 3. (in function jedi#init_python[3]..<SNR>109_init_python, 行 52)
下記コマンドの実行結果では+python3/dyn
となっている。
$ vim --version | grep python +cryptv +linebreak -python +vreplace +cscope +lispindent +python3/dyn +wildignore
だが、Vimで:echo has('python3')
を実行すると1
ではなく0
が返ってきて、:python3 print("test")
を実行すると以下のようにライブラリがロードできないと言われる。
E370: ライブラリ libpython3.5m.so.1.0 をロードできませんでした E263: このコマンドは無効です,ごめんなさい: Pythonライブラリをロードできませんでした.
いろいろ調べたところ下記記事の方法で解決できた。
最初にLD_LIBRARY_PATH
にライブラリのパスを追加する方法を試してみたが、git clone
を実行すると何もせずに終了するという謎の挙動になったので-rpath
を指定する方法を採用した。
具体的には./configure
するときに-rpath
オプションでライブラリのパスを指定してVimを再コンパイル。この方法で無事解決した。
$ LDFLAGS="-Wl,-rpath=${HOME}/.pyenv/versions/anaconda3-4.1.1/lib" ./configure --prefix=/usr/local --with-features=huge --enable-multibyte --enable-rubyinterp=dynamic --enable-python3interp=dynamic --enable-luainterp=dynamic --enable-cscope --enable-fail-if-missing $ make

- 作者: Bill Lubanovic,斎藤康毅,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る