Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

MacVim-kaoriya で Python 3 を有効化する方法(もう Python2 は使わない人向け)

$
0
0

はじめに

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 の場所を教える。

.vimrc
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

これで、シェルから呼び出す python3pyenv 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
.vimrc
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 がクラッシュする
前身となった記事の訂正として、この記事を書いた。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>