rope とは Python で書かれた、 Python コードに対するリファクタリング等を行うためのモジュールで、主に IDE やテキストエディタに高度な Python のサポート機能を追加するために利用されています。
私はかなりのデフォルト教信者でたいてい IPython と最低限の設定をした vim だけでコードを弄っているのですが、 PyCharm を触ってみてやっぱりIDEの持ってる機能は便利だと実感したので手を出して見ることにしました。
この記事ではとりあえずインストールについてまとめてみます。
vimが利用している Python を確認する
私は主に MacBook で MacPorts の Python と、 Kaoriya-MacVim を使っています。 vim が利用している Python がどれかと、そのモジュール検索パスを調べるために、とりあえず vim のコマンドモードで次の命令を実行します。
:python << END import sys from pprint import pprint pprint(sys.path) END
['/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/Users/inada-n/Library/Python/2.7/lib/python/site-packages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC', '/Library/Python/2.7/site-packages', '.', '..']
MacPorts ではなくて Mac 標準の Python が使われています。 (まぁ当然ですね)
この Python を使って rope を動かせるようにセットアップしていきます。
pip のインストールと ropevim のインストール
必須ではないかもしれませんが、私は pip
をインストールしてから、それで rope をインストールしました。
$ sudo /usr/bin/easy_install pip
システムにインストールのは pip だけにして、 rope はユーザーごとの site ディレクトリにインストールします。
$ /usr/local/bin/pip install -M --user
これで、 ropevim とその依存ライブラリの rope, ropemode がインストールされました。
インストール先は私の場合は /Users/inada-n/Library/Python/2.7/lib/python/site-packages
だったのですが、環境によっては ~/.local
配下かもしれませんし、 Windows の場合は %APPDATA% あたりだと思うので、確認してください。
インストールされたファイルの中から、 ropevim.vim を探して、 ~/.vim/plugin/ 以下にコピーしておきます。
これでインストールは終了です。 vim をたちあげて、コマンドモードで :Rope
までタイプして補完して、たくさん候補が出たら成功です。