水底

ScalaとかC#とかk8sとか

python3でvimでpowerlineで

python3環境でvimで以下のようなエラーが出てpowerlineがうまく動かないことがあった(fedora). ちなみに別環境(ubuntu)だと同じ設定でもちゃんと動いたりしてた.

Traceback (most recent call last):
  File "<string>", line 9, in <module>
ImportError: No module named powerline.vim
An error occurred while importing powerline module.
This could be caused by invalid sys.path setting,
or by an incompatible Python version (powerline requires
Python 2.6, 2.7 or 3.2 and later to work). Please consult
the troubleshooting section in the documentation for
possible solutions.
Unable to import powerline, is it installed?
Press ENTER or type command to continue

TL;DR

vimrcにpowerlineがpython3を使うように明示する

.vimrc

let g:powerline_pycmd="python3"

環境

  • Fedora24
    • python は python2系のalias
    • python3 が python3系
  • powerline2.5 (via pip3)
  • vim8.0 (+python/dyn, +python3/dyn)

どうしたのか

よくよく探したらなんか書いてあった.

Bug 1323828 – python3 - vim - powerline issue?

Other plugins — Powerline beta documentation

let g:powerline_pycmd="python3" をvimrcに追記したら無事動作した (python3 でも py3 でも大丈夫). めでたい.

github.com

それだけ?

それだけ. ちなみにpython3が有効になっていないvim (-python3/dyn) だとまた別のエラーで死ぬのでpython3が有効になっているvimを使おう.