見出し画像

Jupyter (Notebook)からPlutoへ

7月は個人的にはいろいろと面白いカンファレンスがありました。7月頭にScientific PythonのSciPy2020, 翌週にGIS関連のESRI UC 2020, 最後の週にJuliaのJuliaCon 2020です。 コロナウイルスの影響で全てVirtualでしたが、おかげでSciPy2020の75ドルを除いてJuliaConも無料でしたから参加した人も多かったかもしれません。ただVirtualなだけに時間はアメリカに合わせた形。日本からの参加者にはきつかったかもしれませんね。でも現在はほぼ全てがYoutubeで見ることが可能なはずです。

ここではJuliaCon2020で興味深かったものを簡単に紹介しようと思います。

今回、即インストールして試してみたのが、Pluto.jlです。「個人的には」大当たりです。

Python使っている人ならご存知のJupyter notebookですが、オンライン上で使えるGoogle ColabやAzure notebook、現時点ではベータ版ですが面白い存在のDeepnoteなど、それぞれちょっと違った味付けをしてnotebookが提供されています。Google ColabでしたらGoogle DriveがマウントできたりとかTPUが使えるとかですかね。DeepnoteはGitlabやDatabaseとの連携などいろんな機能がどんどん追加されています(登録後すぐにお願いしてみましたがとうとうJuliaも使えるようになりました)。昨年発表されたESRI ArcGIS Notebookもより便利になっており、全世界のユーザーからサーバーにアップされた様々なGeospatial Dataが簡単にインポートできたりNotebookをcronやTask Schedulerのようなスケジューリングが簡単にできたりします。これらのように企業ごとにJupyter Notebookを使ったサービスの違いが出てきたなと感じます。

そして今回知ったPluto.jlですが、これもJupyter Notebookの派生といえばそうなります。PythonでJupyter Notebookを使っている人にはあまり目新しさはないのですが、個人的にはこのシンプルでJulia上で動くのがとてもありがたかったのです。

Anacondaやminicondaを使っていろんな環境が作れますから、私が使うArcGIS Proもminicondaを使ってデフォルトとは異なる環境構築をいくつかしています。ArcGIS ProはGeospatial関連のPython code (arcpy)たくさんあるのでこれをArcGIS Notebookだけじゃなく、普段のJupyter Notebookでも使うためにはちょっと設定が必要になります。ArcGISだけだと問題は全くないのですが、ここにJuliaのIJuliaをインストールなどすると、デフォルトのminiconda、ArcGISのminiconda、IJuliaのminicondaが存在してしまい、インストールする「順番」によってはそれぞれの起動に悪さをします。私はここにハマってArcGIS Notebookが使えない時期がしばらくありました。IJuliaが原因だったのでどうにかしたかったのです。

実際の使い方ですが、Pluto.run(1234)をするだけで、http://localhost:1234でPluto notebookが開けます。

画像1

Plutoが起動すると下記のような画面になります。

画像2

サンプルがあるのでPlotsを開いてみると、開くと同時に全てのコマンドが実行されるようです。

画像3

実行された結果の一部がこちら。面白いのが結果が下ではなくコードの上に表示されることですね。

画像4

残念ながらJupyter Notebookをインポートできるようにはなっていないようですが、PyCallは当然使えるのでここからarcpyをインポートしてみます。

画像5

これは個人的にはかなり使えますね。これからが楽しみです。

この記事が気に入ったらサポートをしてみませんか?