Jupyter-gopherlab
JupyterのGoカーネルを探すと次の選択肢があります。
- gopherlab (Go >= 1.6, ZMQ 4.x)
- Gophernotes (Go >= 1.4, ZMQ 2.2.x)
- IGo (Go >= 1.4)
Ubuntu 16.04ではgolang 1.6.2が入るため、ここではgopherlabの環境を構築します。
準備
libzmq-4.x系を要求されますが、Ubuntu 16.04ではlibzmqのバージョンが古いため、次の手順でlibzmqをインストールする必要があります。
/etc/apt/source.list.d/zeromq.list
deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/ ./
上記ファイルを作成し、libzmq3-devをインストールします。(libzmq3-devでlibzmq-4.xが入ります。)
wget https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/Release.key -O- | sudo apt-key add
sudo apt update
sudo apt install libzmq3-dev
環境構築
https://github.com/fabian-z/gopherlab にしたがって粛々とkernelを作成します。
go get github.com/fabian-z/gopherlab
mkdir -p ~/.local/share/jupyter/kernels/gopherlab
cp -r $GOPATH/src/github.com/fabian-z/gopherlab/kernel/* ~/.local/share/jupyter/kernels/gopherlab/
cp -a $GOPATH/bin/gopherlab ~/.local/share/jupyter/kernels/gopherlab/
sed -i "s#/go/bin/gopherlab#$HOME/.local/share/jupyter/kernels/gopherlab/gopherlab#g" $HOME/.local/share/jupyter/kernels/gopherlab/kernel.json
いつものようにjupyter-notebookを起動すると、新規NotebookのところにGo (gopherlab)と追加されています。
右上にGopherくんが表示されます。
kernel errorが発生した場合、GOPATH等が通っていない可能性がありますので、jupyter notebookの吐き出すエラーログ等をご確認下さい。
Hello World
import "fmt"
fmt.Printf("Hello world\n")
セルの間隔が少し気になりますね…。
Goをインタプリタで扱うことができるため、大変学習効率が良いと思われます。