読者です 読者をやめる 読者になる 読者になる

WindowsでSublime Text2 + leiningen + Clojure/Incanter環境をお手軽に作る

プログラミング incanter Clojure

WindowsでClojureを用いて統計解析を行う環境を簡単に作成します。難しい作業はしません*1
ClojureJVM上で動くLispのようなプログラミング言語です。
これは簡単に説明すると
JVM上で動く=WindowsでもMacでもLinuxでも動く!その上使えるライブラリも多い!」
Lisp=簡単に読み書き出来て幸せ」
という意味です。
IncanterはClojureで書かれた統計解析ライブラリです。
Clojureから簡単に使えます。
もしあなたがプログラミングのこと一切知らなくて統計解析を始めようというならこの組み合わせが最t…ごふっ。
まぁ騙されたと思ってとりあえずやりましょうとかいってる相手にほいほい乗ってると騙されるので人生が辛い。
これらの組み合わせはsublime text2を除いて無料です。
Sublime Text2は便利なテキストエディタです。
コーディングしたりコードを実行したりするのにとても役立ちます。
無期限の試用期間があるので手軽に始められます。気に入ったらぜひ購入して下さい。
vimemacsという熟練のプログラマに愛されている素晴らしいツールもあるのですが、
設定や操作が素人には難しくハードル高かったので、いつか頭が良くなったら使いたいなと思います。
Sublime Text2の良い所は、デフォルト設定でもかなり使えることです。
さらにPythonやJSONを利用して自由にカスタマイズできるので、
使いこなせるようになればどんどんカスタマイズしましょう。
leiningenはClojureのビルドツールと言うかプロジェクト管理ツールです。
Clojure単体だと色々設定を書かなくてはいけなくて面倒臭い所を
このleiningenがよしなにやってくれます。


まずleiningenをインストールします。
Windowsにleiningenインストールする手順はこちらをご参照ください。
http://d.hatena.ne.jp/AntiBayesian/20120122/1327236946
次にsublime text2をインストールします。そしてsublime replというものもインストールする必要があります。
それにはこちらを参照してください。
http://yagays.github.io/blog/2012/11/16/sublimerepl-clojure/
ここらへんで気づいたと思われますが、リンク張るだけで済むしわざわざ記事書く必要ありませんでしたね。


さて、leiningenをc:\leinにインストールしたとします。
c:\leinにproject.cljって名前のファイルを作って次のように記述して下さい。

(defproject test "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.4.0"][incanter "1.4.1"]])

記述し終わったらコマンドプロンプトを用いてc:\leinでlein replと打ちこんでください。
するとIncanterがインストールされて、(use '(incanter))とかやると使えるようになります。
ちなみにreplってのは何かと言うとこちらをご参照ください。
http://d.hatena.ne.jp/keyword/REPL
要するにあなたのコマンドプロンプトが突然Clojureプログラミング環境になってハッピーと言う話です。

最後にsublime text2のreplから直接Clojure呼べるようにします。
{あなたがsublime text2をインストールしたフォルダ。「Preference→Browse Packeges参照」}\Sublime Text 2\Packages\SublimeREPL\config\Clojure\Main.sublime-menu
を開いて

"cwd": {"windows":"c:/Clojure", // where the lein.bat lives!

ってなってる行を

"cwd": {"windows":"c:\lein", // where the lein.bat lives!

に変えればOKです。
これでSublime Text2からさっきのIncanter設定したreplを呼べます。


えーと、簡単でしたね。もうちょっと色々書くつもりだったけど特に書くことないくらい設定楽だしかなり飽きてきたのでここら辺でさようなら。


■2013/5/24追記
sublime text2からleiningenを呼ぶ件ですが、どうもleiningen2からは動かなくなってるそうです。いや、これは困ったことですね。
https://github.com/wuub/SublimeREPL/issues/48
仕方ないのでclojure.jarを直接呼ぶbatファイルを作って、sublime textはそいつを呼ぶことにしてとりあえずrepl動くようにしましょう。
多分leiningenでclojureをデフォルト設定でインストールした場合は
C:\Users\{あなたの名前}\.m2\repository\org\clojure\clojure\{インストールしたClojureのver}\clojure-{ver}.jar
となってると思います。違ったら適宜調整して下さい。
clojure.batって名前でファイルを新規作成して、その中に

java -jar C:\Users\{あなたの名前}\.m2\repository\org\clojure\clojure\{インストールしたClojureのver}\clojure-{ver}.jar

と書きます。
これをさっきのc:\leinフォルダに置きます。
次にMain.sublime-menuを開いて
"cmd": {"windows": ["lein", "repl"],
となってるところを
"cmd": {"windows": ["clojure.bat"],
とします。
これで動くと思います。
batファイル置くフォルダはどこでもいいのですがパスを通しておいてください。でないと動きません。
これでとりあえず私の環境だと動いてるんですが、もしこれ試しても無理だよ〜という方いらっしゃったらご連絡ください。
なんか考えます。

*1:出来ません