JupyterにPerlを入れてMacで使うまで

Jupyterという、ブラウザで動くエディタ兼ターミナルみたいなものがあるらしく、基本的にPythonで使われているようなのだけど、Perlも動くっぽい、と何かで見たのでやってみました。

jupyter.org

Jupyterとは

概要的には、ググって最初に出てきたこちらの冒頭の説明がわかりやすかったです。

Jupyter Notebook を使ってみよう – Python でデータサイエンス

Jupyter Notebook (読み方は「ジュパイター・ノートブック」または「ジュピター・ノートブック」) とは、ノートブックと呼ばれる形式で作成したプログラムを実行し、実行結果を記録しながら、データの分析作業を進めるためのツールです。
プログラムとその実行結果やその際のメモを簡単に作成、確認することができるため、自分自身の過去の作業内容の振り返りや、チームメンバーへ作業結果を共有する際に便利なほか、スクール形式での授業や研修などでの利用にも向いています。

経緯

事の発端というか、そもそもなんでそんな事しようと思ったかというと、仕事の合間にふと息抜きでこちらを見ていたら、

www.youtube.com

プログラミング入門者にanacondaのインストール一発でPythonとJupyterの環境を同時に作る手順を丁寧に解説してるんだけど、それを見て「うわ、こんなに簡単にスタートできるのか」と驚きながらとりあえずJupyterの環境まで作って、そこでふと「これでPerlも動かないかなあ」と思ったのでした。

IPerl

Perlを使えるようにする手順としては、Qiitaに書かれたこちらがわかりやすかったのですが、

qiita.com

あいにくここで紹介されているのはCentOSへのインストール方法だったので、ぼくが使っているMacへの導入となると、部分的に読み替えが必要になります。

ということで、大枠は上記Qiita記事で把握しつつ、主要モジュールと思われるDevel::IPerlのリポジトリへ。

github.com

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

で、めでたく完了!

と思いきや、動かない・・。

それからしばらく、何が足りないのかとあちこちいじったりググったりしていましたが、結果的にはこれで。


ぼくはPerlのヴァージョン管理でplenvを使っているのですが、こういうときは大抵plenv rehashが必要なのですね。

今回もそれをやらずに「動かない・・」とかやっていました。

$ plenv rehash

で、動くようになりました。

実行

具体的には、ターミナルでどこか作業したい場所に入ってから、

$ iperl notebook

または

$ jupyter notebook

でブラウザがブワッと開いてくれます。

https://i.gyazo.com/5a5a41df4516fec292fc17486e430cd7.gif

いい感じです。

ちなみに、サブコマンドのnotebookをconsoleにすると、ターミナル上で同じことができるようです。

$ iperl console

gyazo.com

ということで、これで「ぼくも流行りのJupyterでPerlを動かしたい!」という目標を達成できました。

用途的には、普段から小さなPerlのサンプルコードを手元で一瞬動作確認したい、みたいなことがよくあるので、そういう時に使いやすいかなと思っています。

ローカルのファイルからデータを入出力したり、標準以外のモジュールを使ったりすることもできるようです。

https://i.gyazo.com/f8a9e1aa7e978c4e48ae456101ffa43e.gif

素晴らしい!