Emacs から Atom に乗り換えた
最近は jupyter notebook でざっと書いて Python スクリプトに清書することが多いんだけど、効率的が悪いし何か良い方法は無いかと色々探していたところ Atom に hydrogen という良いプラグインを見つけたので良い機会だったし Emacs から Atom に乗り換えた。
正確には Spacemacs から Atom に乗り換えた。Spacemacs は良かった。良かったがゆえに最初からきちんともろもろ使い良く揃っているエディタの良さにも気づいてしまった…。
この GIF が全てを物語ってる。jupyter のセルでやってることをピュアな Python スクリプト内で出来るのでコピペの手間が無くなった。
.atom の管理
当然エディタの設定は git で管理して他の環境でも使えるように github でホスティングしたいので$HOME/.atom
を git の管理下に置いた。
パッケージ管理
Atom にはパッケージ管理用のコマンドラインツールが付随していて、こいつを使うとスターをつけたパッケージを一気にインストールできるので、これでパッケージを管理してもいい。
しかし apm はインストール済みかどうかチェックしないので、apm stars --install
を叩くとめちゃくちゃ遅い。そこで、Ruby の Bundler のように入れたいパッケージ名を一行ずつ書いたテキストファイルを atomfile という名前で管理して、一行ずつ読み込んでは $HOME/.atom/packages
を見てインストール済みか否かチェックしてからインストールするようなスクリプトを書いた。こんな感じ。
ついでに各パッケージで必要な deb パッケージとか Python パッケージも make
叩いただけで入るように Makefile 書いた。hydrogen は pip で ipython 入れないといけないし、apt-get で libzmq-dev 入れないといけないので、こんな感じに書く。
make 便利。
hydrogen
便利。超ベンリ。ただ、ちょっとばかし遅い。slime とか cider みたいな repl 駆動開発をリッチにした感じ。リッチ repl 駆動開発だ。他の言語もこういう感じで書けないのかしら。
Dependencies の Linux の項目にlibzmq3-dev (preferred)
とあるけど Ubuntu14.04 だと libzmq3-dev
では hydrogen が動かなくて libzmq-dev
を入れる必要があった。はまった…。同じ問題ではまる人なんとかこのブログにたどり着いて欲しい。
2016/4/25 追記
libzmq-dev
と libzmq3-dev
の違いがよくわかったので追記。
hydrogen を apm でインストールする前に libzmq1
が入っていれば libzmq-dev で動きます。libzmq3
が入った環境で apm で hydrogen でインストールすると libzmq3-dev
でないと動きません。
詳しくはここ