JupyterにPerlを入れてMacで使うまで
Jupyterという、ブラウザで動くエディタ兼ターミナルみたいなものがあるらしく、基本的にPythonで使われているようなのだけど、Perlも動くっぽい、と何かで見たのでやってみました。
Jupyterとは
概要的には、ググって最初に出てきたこちらの冒頭の説明がわかりやすかったです。
Jupyter Notebook を使ってみよう – Python でデータサイエンス
Jupyter Notebook (読み方は「ジュパイター・ノートブック」または「ジュピター・ノートブック」) とは、ノートブックと呼ばれる形式で作成したプログラムを実行し、実行結果を記録しながら、データの分析作業を進めるためのツールです。
プログラムとその実行結果やその際のメモを簡単に作成、確認することができるため、自分自身の過去の作業内容の振り返りや、チームメンバーへ作業結果を共有する際に便利なほか、スクール形式での授業や研修などでの利用にも向いています。
経緯
事の発端というか、そもそもなんでそんな事しようと思ったかというと、仕事の合間にふと息抜きでこちらを見ていたら、
プログラミング入門者にanacondaのインストール一発でPythonとJupyterの環境を同時に作る手順を丁寧に解説してるんだけど、それを見て「うわ、こんなに簡単にスタートできるのか」と驚きながらとりあえずJupyterの環境まで作って、そこでふと「これでPerlも動かないかなあ」と思ったのでした。
IPerl
Perlを使えるようにする手順としては、Qiitaに書かれたこちらがわかりやすかったのですが、
あいにくここで紹介されているのはCentOSへのインストール方法だったので、ぼくが使っているMacへの導入となると、部分的に読み替えが必要になります。
ということで、大枠は上記Qiita記事で把握しつつ、主要モジュールと思われるDevel::IPerlのリポジトリへ。
READMEをしばし熟読。なるほど・・ということで、すでに上記動画をもとにPython3とJupyterは入っているので、そのREADMEにあるZeroMQ(zmq)と、PerlモジュールのDevel::IPerlを入れてあげれば良さそうです。
前者については、macOS版なのでこちら。
https://github.com/EntropyOrg/p5-Devel-IPerl#macos
で、Jupyterのところは飛ばして、モジュールインストールのこれ。(といっても1行だけど)
https://github.com/EntropyOrg/p5-Devel-IPerl#install-from-cpan
で、めでたく完了!
と思いきや、動かない・・。
それからしばらく、何が足りないのかとあちこちいじったりググったりしていましたが、結果的にはこれで。
息抜きにJupyterでPerl動かそうと思っていくつか検索して試したものの全然起動しなくて理由わからず泣きそうになっていたけどいつもの plenv rehash で解決した。https://t.co/Ai4SFuTBZ4
— Hiroaki Kadomatsu (@note103) 2018年6月3日
ぼくはPerlのヴァージョン管理でplenvを使っているのですが、こういうときは大抵plenv rehashが必要なのですね。
今回もそれをやらずに「動かない・・」とかやっていました。
$ plenv rehash
で、動くようになりました。
実行
具体的には、ターミナルでどこか作業したい場所に入ってから、
$ iperl notebook
または
$ jupyter notebook
でブラウザがブワッと開いてくれます。
いい感じです。
ちなみに、サブコマンドのnotebookをconsoleにすると、ターミナル上で同じことができるようです。
$ iperl console
ということで、これで「ぼくも流行りのJupyterでPerlを動かしたい!」という目標を達成できました。
用途的には、普段から小さなPerlのサンプルコードを手元で一瞬動作確認したい、みたいなことがよくあるので、そういう時に使いやすいかなと思っています。
ローカルのファイルからデータを入出力したり、標準以外のモジュールを使ったりすることもできるようです。
素晴らしい!