Vimで編集中の Python scriptをそのまま実行する

最強のエディタと称される Vimを練習中です その練習の一環として、Pythonの簡単なスクリプト書いて Pythonの勉強がてら Vim操作法の勉強もしています

この時に、いちいち書いたスクリプトを Vimの中で IDEの如く実行できれば便利なのにと思い色々調べてみましたところ、ありましたね ここです 感謝感激です

つまり .vimrcの中に

autocmd BufNewFile,BufRead *.rb nnoremap <C-e> :!ruby %
autocmd BufNewFile,BufRead *.py nnoremap <C-e> :!python %
autocmd BufNewFile,BufRead *.pl nnoremap <C-e> :!perl %

というおまじないを書き込むのです こうするとC-e (Macの keyboardで Control keyを押しながら、eのキーを押すこと)すると何と Vimのコマンド行に、Pythonの場合には

:!python %

というのが現れますので、それを Enterすれば現在書いているスクリプトが実行されます 何と便利でしょうか

Pythonで OpenCVを取り扱う

このところ数ヶ月間に渡り Pythonを少しずつかじりつつあります 日本では松本氏がゼロから作り上げ、今や世界のWeb Programmingの世界をリードする一つとなっている有名な Rubyという言語が有名ですし、実績もあります

しかし、科学技術の世界では圧倒的に Pythonという言語がトップを占めています その理由としては、科学技術の世界に特化したライブラリが豊富にあるからです

コンピューターで汎用に画像処理をするソフトウェア・フレームワークの代表が Open CV (Computer Vision)というツールなのですが、この本体は Cで書かれているのです しかし、C以外の言語に対するインターフェースが豊富に用意されており、特に Pythonに対する接続は容易である、とされています

しかし、プロでなければそのような接続自体がちんぷんかんぷんなのです これを何とかしようとここ数日のめり込んでいました 資料としてはインターネット上にあるものだけであり、色々な Key wordsで検索し、それらしきページを読み、そして試しているのですが、なかなかうまくいきませんでした

現在僕の OSXには Python処理系が、もともと OSXと一緒にインストールされているもの、Homebrewでインストールしたもの、Pyenv環境でインストールしたもの、そして anacondaを用いてインストールしたもの、そして最後に MacVim同梱のもの、と合計5つも入っているのです それぞれに、Python3.5系と、Python2.7系があるのです

Python単独でももちろんお仕事できますが、PythonのPythonたる所以は 豊富なライブラリの存在です 特に必須のものが、Numpy, Matplot, Tkinterなどですが、その一つとして CV2があります これがOpenCV 2.0/3.0のライブラリなのです

もともと CV libraryは OS Xにはインストールされてませんので、インストールせねばなりません しかし しかし これが難しい 色々試みてもことごとく失敗 いやインストールそのものは誰が行ってもできるのですが、肝腎の Pythonそのものとリンクしないのです 何が何やらさっぱり分かりません

そこで $which pythonで現在用いている pythonがどこに存在するのか調べましたところ、僕の場合には

/Users/******/.pyenv/shims/python

にあるのです そしてインストールに用いたのは anacondaだったのです そこで

$conda install -c https://conda.anaconda.org/menpo opencv3

としたところ、見事にインストールが開始となりました そしてきちんとインストールされたことを確認するためにまず Pythonを立ち上げました

$python

そうすると Pythonが立ち上がり bashの画面は次のようになります

Python 3.5.1 |Anaconda 4.0.0 (x86_64)| (default, Dec  7 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

この >>>という Python待受の中で、

>>>import cv2
>>>cv2.__version__

とすると、見事に ’3.1.0’と最新の version番号が戻りました これでとにもかくにも cv2ライブラリがきちんと読み込まれたことが確認できたのです 長い道のりでした