MacでIHaskellを動かす

Jupyter notebookをHaskellで動かそうとgibiansky/IHaskell: A Haskell kernel for IPython.をREADMEを見ながらインストールしたが動作せず。動くようになったのでメモ。

環境

項目
OS macOS Mojave 10.14.3
Stack 1.9.3
GHC 8.6.3

手順

README通りに進める。

1. 依存するパッケージをインストール

brew install zeromq libmagic cairo pkg-config pango

python3とHaskell-stackはインストール済みだったので外した。

2. gitリポジトリをクローン

git clone https://github.com/gibiansky/IHaskell
cd IHaskell

3. 依存するPythonパッケージをインストール

python3 -m venv .venv
source .venv/bin/activate
python -m pip install requirements.txt

ipythonのインストールでエラーになる。必要なバージョンのprompt-toolkitが他のパッケージのせいで入れられないため。 入れるパッケージのバージョンを調整する必要がある。

4. Haskellでビルド、ihaskellをインストール

stack install --fast
ihaskell install --stack

$HOME/.local/bin/配下に実行ファイルがコピーされるので、パスを通しておく。

5. jupyter notebok起動

stack exec jupyter -- notebook

Cellを実行しても戻り値が帰ってこない。 ConsoleにWarningログが出ている。

python - Jupyter notebook: No connection to server because websocket connection fails - Stack Overflow

最近リリースされたtornado 6.0がインストールされてしまっていて、非互換でこけているらしい。 と、いうわけでtornadoは5系がインストールされる必要がある。

対処

Pythonでインストールするパッケージのバージョンを調整。なんとか動いた。

動く状態のrequirements.txtは以下。これを3.でpip installする時に使えば良い。

Show Comments