lgo - GoのJupyter Notebook環境とREPL

このエントリーをはてなブックマークに追加

最近、データサイエンスや機械学習などの分野でPython+Jupyter Notebookを使うことが多くなっていると思いますが、こういう分野でもPythonの代わりにGoが使えたらなと思い趣味でGoのJupyter Notebook環境を作りました。

yunabe/lgo - Go REPL and Jupyter notebook kernel Edit (GitHub)

特徴

Jupyter Notebook上での動作はこのような感じになります

lgoを使ったJupyter Notebook の例

クイックスタート with Docker

  1. DockerDocker Composeがインストールされていない場合、インストールして下さい。
  2. lgoのレポジトリに含まれるdocker-compose.ymlから、Dockerコンテナを起動します。
    > git clone https://github.com/yunabe/lgo.git
    > cd lgo/docker/jupyter
    > docker-compose up -d
    
  3. 上のコマンドで起動されたコンテナの名前をチェックして下さい。jupyter_jupyter_1などの名前がついているはずです。
  4. 以下のコマンドを実行してJupyter NotebookにアクセスするURLを取得します。
    > docker exec jupyter_jupyter_1 jupyter notebook list
    Currently running servers:
    http://0.0.0.0:8888/?token=50dfee7e328bf86e70c234a2f06021e1df63a19641c86676 :: /examples
    
  5. docker execで表示されたアクセストークン付きのURLを使ってJupyter Noteboookを開きます。
  6. Enjoy!

インストール

前提条件

インストール

使い方 Jupyter Notebook

lgo runでREPLが起動します。

$ lgo run
>>> a, b := 3, 4
>>> func sum(x, y int) int {
...     return x + y
...     }
>>> import "fmt"
>>> fmt.Sprintf("sum(%d, %d) = %d", a, b, sum(a, b))
sum(3, 4) = 7
このエントリーをはてなブックマークに追加
Home