python開発用のエディタをVimにしようと思ったけど色々やらないといけなかったのでその時の手順メモ
シンタックスで色付けをする:pythonインターフェイスが含まれているか確認
通常、vimパッケージを入れただけだと、pythonインターフェイスが含まれていないため、-python
と表記されている
$ vim --version | grep python
+cryptv +linebreak -python +viminfo
+cscope +lispindent -python3 +vreplace
シンタックスで色付けをする:vim-noxパッケージをインストール
$ sudo apt-cache search vim-nox
vim-nox - Vi IMproved - 強化版 vi エディタ - スクリプティング言語サポート付き
$ sudo apt-get install vim-nox
シンタックスで色付けをする:pythonインターフェイスが有効になったか確認
$ vim --version | grep python
+cryptv +linebreak +python +viminfo
+cscope +lispindent -python3 +vreplace
リンク: gcc -L. -Wl,-z,relro -L/build/ruby2.1-64qTCU/ruby2.1-2.1.5/debian/lib -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.2 -Wl,-E -fstack-protector -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.20/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python2.7/config-x86_64-linux-gnu -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.1 -lpthread -lgmp -ldl -lcrypt -lm
// vimを起動する
$ vim
// has('python')として、1が表示されればOK
:echo has('python')
1
シンタックスで色付けをする:python3は?
ぐぐってみると、Linux版の多くはまだpython2.x系がメインらしく、python3系に対応するにはVimをビルドしなおしたり色々しないといけないらしい*
とりま開発環境構築がMustで必要かどうかの判断が今の所つかないのでパス
パッケージ管理システムの導入:pipのインストール
$ sudo apt-get install python-pip
$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
仮想環境を手軽に作成出来るようにする:virtualenvのインストール
pythonプロジェクト毎にバージョンや必要なパッケージを分けて仮想環境が構築出来るらしい。インストール関連の記事をぐぐってると大体これが載ってたのでとりま入れてみる
// virtualenv
$ sudo pip install virtualenv
Downloading/unpacking virtualenv
Downloading virtualenv-15.0.1-py2.py3-none-any.whl (1.8MB): 1.8MB downloaded
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...
仮想環境を手軽に作成出来るようにする:virtualenvwrapperのインストール
// virtualenvwrapper
$ sudo pip install virtualenvwrapper
Downloading/unpacking virtualenvwrapper
Downloading virtualenvwrapper-4.7.1-py2.py3-none-any.whl
Downloading/unpacking stevedore (from virtualenvwrapper)
Downloading stevedore-1.13.0-py2.py3-none-any.whl
Downloading/unpacking virtualenv-clone (from virtualenvwrapper)
Downloading virtualenv-clone-0.2.6.tar.gz
Running setup.py (path:/tmp/pip-build-xXV4En/virtualenv-clone/setup.py) egg_info for package virtualenv-clone
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /usr/local/lib/python2.7/dist-packages (from virtualenvwrapper)
Downloading/unpacking six>=1.9.0 (from stevedore->virtualenvwrapper)
Downloading six-1.10.0-py2.py3-none-any.whl
Downloading/unpacking pbr>=1.6 (from stevedore->virtualenvwrapper)
Downloading pbr-1.9.1-py2.py3-none-any.whl (96kB): 96kB downloaded
Installing collected packages: virtualenvwrapper, stevedore, virtualenv-clone, six, pbr
Running setup.py install for virtualenv-clone
Installing virtualenv-clone script to /usr/local/bin
Found existing installation: six 1.8.0
Not uninstalling six at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed virtualenvwrapper stevedore virtualenv-clone six pbr
Cleaning up...
.bashrcに設定を追加
source /usr/local/bin/virtualenvwrapper.sh
export WORKON_HOME=~/.virtualenvs
ターミナル開き直すとホームディレクトリのどこかになんか6個ぐらいファイルがざざっと作られる(メモ取ってなかった)
追記:virtualenvwrapper
以下をvirtualenvwrapper経由で行う使い方 → virtualenvwrapperの使い方メモ
仮想環境を手軽に作成出来るようにする:virtualenvで仮想環境を作ってみる
// プロジェクトディレクトリを作る
$ mkdir myProject
$ cd myProject/
// 仮想環境を作ってみる(--no-site-packagesをつけるとまっさらな状態になるらしい)
$ virtualenv --no-site-packages .
New python executable in /home/nobiki/myProject/bin/python
Installing setuptools, pip, wheel...done.
// 仮想環境に入る
$ source bin/activate
// 先頭に"(プロジェクト名)"が表示されるようになる
(myProject) $
(myProject) $ ll
合計 20
drwxr-xr-x 2 nobiki nobiki 4096 5月 11 13:10 bin
drwxr-xr-x 2 nobiki nobiki 4096 5月 11 13:10 include
drwxr-xr-x 3 nobiki nobiki 4096 5月 11 13:10 lib
drwxr-xr-x 2 nobiki nobiki 4096 5月 11 13:10 local
-rw-r--r-- 1 nobiki nobiki 60 5月 11 13:10 pip-selfcheck.json
// パッケージの違いを確認(仮想環境内)
(myProject) $ pip list
pip (8.1.2)
setuptools (21.0.0)
wheel (0.29.0)
//仮想環境から出る
(myProject) $ deactivate
// パッケージの違いを確認(仮想環境外)
$ pip list
argparse (1.2.1)
cffi (0.8.6)
chardet (2.3.0)
colorama (0.3.2)
cryptography (0.6.1)
defusedxml (0.4.1)
docutils (0.12)
html5lib (0.999)
meld (3.12.1)
[以下略]
自動補完を有効にする:vim-virtualenvのインストール
そのままだと、virtualenv環境でのパスが通ってないらしい。
(myProject) $ touch test.py
(myProject) $ vim test.py
// vimを立ち上げて現状のPATHを確認
:python for path in sys.path: print(path)
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/gtk-2.0
/usr/lib/pymodules/python2.7
_vim_path_
NeoBundleでインストール
// .vimrcに追記してインストール
NeoBundle 'jmcantrell/vim-virtualenv'
(myProject) $ vim -c "NeoBundleInstall"
// インストール後のPATHを確認
(myProject) $ vim test.py
:python for path in sys.path: print(path)
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/gtk-2.0
/usr/lib/pymodules/python2.7
_vim_path_
/home/nobiki/vim/.vim/bundle/vim-virtualenv/autoload ← なにか追加された
何か適当にインストールしてみる
(myProject) $ pip install django
Collecting django
Using cached Django-1.9.6-py2.py3-none-any.whl
Installing collected packages: django
Successfully installed django-1.9.6
この時点で、マニュアルらしき物と補完が表示されるようになった
自動補完を有効にする:jedi-vimのインストール
jedi-vimをインストールして、期待する補完が表示されるようにする
// .vimrcに追記してインストール
NeoBundle 'davidhalter/jedi-vim'
(myProject) $ vim -c "NeoBundleInstall"