メインコンテンツへスキップ
見出し画像

Python NotebookをRoamで書く

    こんにちは、Choimirai Schoolのサンミンです。

    0  はじめに

    Roam Research(以下、Roam)では既にHTMLやCSS、JavaScript、そしてClojureのコードを実行することができる。その中で、Jupyter NotebookのようにRoam上でメモを取りながらPythonコードを実行したいニーズも多かったです。その、ニーズに応えたのが、Pyroam。

    Roam上でPythonコードを実行するPyroamのリリースです🐍!インストールすると @projectjupyter と似たような感じでPythonのnotebookが作れます😮。

    ■詳細:https://t.co/mNW7CTmfTZ#Roam部 https://t.co/e3X3SmkeXT

    — Sangmin @ChoimiraiSchool (@gijigae) March 6, 2021

    今回の note では Pyroam のインストールと使い方についてシェアさせていただきます。

    1  Pyroamとは?

    Pyroamは、pyodideを駆使してRoam上でPythonコードを実行できるようにした [[roam/js]] の拡張機能です。

    Pyodide brings the Python 3.8 runtime to the browser via WebAssembly, along with the Python scientific stack including NumPy, Pandas, Matplotlib, SciPy, and scikit-learn.

    2  Pyroamのインストール

    PyroamはAdamさんのページからコードを入手しインストールできます。

    上記のリンクをクリックしますとAdamさんのページに遷移します。「Installation」セクションにある「Copy extension」ボタンで必要なコードをコピーし、ご自分のRoamに貼り付ける。[[roam/js]] のコードが表示されますので、「Yes I know what I'm doing」ボタンでコードを有効にしてください。

    ①コードをコピー
    ②ご自分のRoamに貼り付ける
    ③コードを有効にする

    画像1

    筆者のRoamに貼り付けて、コードを有効した時の画面です。

    画像2

    3  Pyroamを使ってみる

    Pyroamの使い方はとても簡単。インストールが終わりましたら、/python でPyrhonのコードブロックを作ります。実装するコードを書いて、Alt + Enter でコードの実行ができます。ハーバード大学のCS50Wのソースコードを実行した時の様子を録画した動画です。

    ハーバード大学、Webプログラミング(CS50W)のPython授業をRoamで実行した時の様子↓。Pythonのオンライン授業をRoam上で受け、宿題もRoamで完結できるのは大きい。また、[[pyroam/notebook]] で実行範囲を指定できるのも嬉しい。今後、Matplotlibも実装する予定とのことです。#Roam部 pic.twitter.com/TO6gKew97Q

    — Sangmin @ChoimiraiSchool (@gijigae) March 6, 2021

    複数のブロックにまたがっているコードを実行するときは、Alt + Shift + Enter で実行できます。

    例えば、下記のように「names」という変数が上のブロックで定義されている場合、2つ目のブロックを実行しますと「names」が定義されてないと怒られます。

    画像3

    この場合、Alt + Shift + Enter を同時に押下しますと[[pyroam/notebook]]のブロックにあるPythonコードを全て実行してくれますので、アウトプットが正しく出力されます。

    画像4

    4  まとめ

    Pythonは他の言語と比べ学びやすいだけでなく、使い道も幅広いですので、Pyroamを活用し、Pythonのオンライン授業をぜひRoam上でチャレンジしてみるのはいかがでしょうか?今後、Matplotlibなども実装するとのことですので、Roamでノートを書きながらいろんなプロットを挿入することもできると思います。

     
     
    CEO & Founder at Choimirai Company。The first official Dify Ambassador in Japan.

    あなたへのおすすめ