LoginSignup
2
3

More than 3 years have passed since last update.

brewで入れたVim8のDependenciesがpython@3.8になってdeopleteが動かなくなったのに対処したメモ

Last updated at Posted at 2020-06-13

2020/10/21現在
brewで入るvimはpython@3.9になっている。
3.8を3.9に読み替えればOK。


brewで入れてるVim8をアップデートしたらdeopleteが動作しなくなったのに対処したメモ。

エラー文にinitializeとあるので、なにやら初期化時にエラーが起きている。

[deoplete] [vim-hug-neovim-rpc] requires one of `:pythonx import [pynvim|neovim]`
 command to workfunction deoplete#enable[9]..deoplete#initialize[1]..

deopleteのrequirementでも変わったかね?と確認すると msgpack をpipでいれろとある。
入れた記憶がなかったのでインストール。まあ入っていたのだけど。

$ pip3 install -U msgpack
$ pip3 install -U pynvim

が、まだエラーが出る。

Vim側で
:echo has("python3") で1になるのでVim側のifは有効。
:pyx print(sys.version) すると

3.8.3 (default, May 27 2020, 20:54:22)
[Clang 11.0.3 (clang-1103.0.32.59)]

3.8・・・? $ python3 -V をすると3.7が出てくる。これは/usr/bin/にあるmacOS Catalinaのものだ。どうやらbrewのvimのpython dependencyが python@3.8 になったようだ。

brewで入ったpython 3.8用の/usr/local/bin/pip3.8があるので、そちらでmsgpackとpynvimを入れる。

$ pip3.8 install -U msgpack
$ pip3.8 install -U pynvim

まだエラーが出る。

[deoplete] [yarp] [deoplete] job is dead. failed establishing channel for ['python3', '-u', ...

これは python3 コマンドを使っているっぽい。でもそっちは3.7なんだよなってことで3.8の方を使われるようにしたい。いっそbrewのpython3パッケージを消そうかと思ったが依存で使われていて消せない。
python3コマンドを3.8の方が使われるようにPATH通すかってことでbrewのlinkを通す事にする。

brewの python@3.8 はkeg-onlyなので自動では/usr/local/bin/にsymlinkが作られない。のでリンクを作る。

$ brew link python@3.8 --force
Linking /usr/local/Cellar/python@3.8/3.8.3... 
Error:Could not symlink bin/pip3
Target /usr/local/bin/pip3
is a symlink belonging to python. You can unlink it:
  brew unlink python

To force the link and overwrite all conflicting files:
  brew link --overwrite python@3.8

To list all files that would be deleted:
  brew link --overwrite --dry-run python@3.8

brewのpython3で入ったpip3がいるのでエラー。pip3も3.8の方で良い(今後何か起きるかもだが)のでoverwriteつけて...

$ brew link python@3.8 --force --overwrite

成功。

/usr/binよりも/usr/local/binの方を優先するPATHにしてるので、これでpython3が3.8に向いて無事deopleteが動いた。

なおったはなおったが、そろそろnvimにした方がトラブル少ないのかもしれないなーと思った。


追記
同じ内容で同じ対応をしてるissueがあった。
https://github.com/roxma/vim-hug-neovim-rpc/issues/47#issuecomment-622954462

2
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3