はじめに
MacVim-kaoriya で動く Python インタプリタを Python3 にすると、jedi-vim でも Python3 で補完してくれるようになるので、モダンな Python 開発者にとってはうれしい。
ここにそのやり方が書いてあるが、「わかっている人」向けに書かれている感じがあるので、もう少し詳細な手順を書いてみる。
ただし、この方法を使うと(公式の案内とは裏腹に) Python2 と Python3 の同時使用ができなくなるので注意。
方法
まず、Python3 を Mac にインストールする。直接インストーラでシステムワイドにインストールする方法もあるが、パッケージ管理システムの Homebrew を使うのが手頃で、なおかつ pyenv ユーザにもありがたい。
Homebrew の使い方やインストール方法はたくさん丁寧な記事があるので、そちらに譲りたいと思う。
brew install python3
これで、/usr/local/Cellar/python3/
に Python3 が入った。次に、vimrc
で Python3 の場所を教える。
set pythonthreedll=/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/Python
これで MacVim-kaoriya は Python3 を内部で使用するようになった!
普段 pyenv を使っている人向けの補遺
以上の方法だと、シェルで呼び出す python3
が全て Homebrew の Python3 になってしまう。
いつも pyenv で Python3 系をインストールしている人にとって、このように Homebrew に Python3 の実体参照が奪われると少し迷惑である。
そこで、Homebrew で入れた Python3 をシェルからは無効にしておくとよい。
brew unlink python3
これで、シェルから呼び出す python3
は pyenv global/local
で指定したものになる。
終わりに
この記事の前身は「MacVim-kaoriya で pyenv の Python3 を読みこませる方法(2016/05/08 削除予定)」というもので、pyenv に入れた Python3 を Vim に認識させようと試みていた。
そのために、Framework 付きで Python3 をインストールし、そのパスを vimrc
に設定していた。
$ env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.5.1
let $PYTHON_HOME=expand("~/.pyenv/versions/3.5.1/Python.framework/Versions/3.5")let&pythonthreedll=expand($PYTHON_HOME).'/Python'" あるいは下記1行let&pythonthreedll=expand("~/.pyenv/versions/3.5.1/Python.framework/Versions/3.5/Python")
しかし、この方法では pyenv 内の Python3 ではなく Python.framework の仕組みを利用して Homebrew 内の Python3 を見ていたようである(よくわからないけど、Python公式の説明、Apple公式の説明、Qiitaの記事が詳しそう)。
したがって、Homebrew 内の Python3 をアンインストールすると Vim がクラッシュする。
前身となった記事の訂正として、この記事を書いた。