はじめに
2020/06/29追記 : 以下の内容は古く 2020/06/29 現在では再現できないものとなっています. (バイナリ配布ページからバイナリが消えていたため.)
C++がJupyter上で動かせるという話を聞いて実行してみたいと思ったのですが環境構築に手間取ったので書いておきます。(他の記事に書いてあるとおりにやったらエラーが出て断念)
このやり方は記事を探してもがいていて、手法を組み合わせたらなんとなくできたものなので正規のやり方では無い可能性の方が高いです。そのことを承知の上ご覧ください。
Cling - The Interactive C++ Interpreter - GitHub
環境
- Ubuntu16.04 LTS
- Python3 (install済み)
- Jupyter (install済み)
Clingダウンロード
Cling's Web Page
上のリンクがClingの公式ページです。HOMEの下の方にDOWNLOADがあるので、そのリンク先から自分のOSに合ったものをダウンロードします。
自分はcling_2018-03-02_ubuntu16.tar.bz2をホームディレクトリにダウンロードしました。
~/cling_2018-03-02_ubuntu16.tar.bz2
まず、解凍・展開します。
$ cd ~
$ bzip2 -d cling_2018-03-02_ubuntu16.tar.bz2
$ tar xvf cling_2018-03-02_ubuntu16.tar
すると、cling_2018-03-02_ubuntu16/
ができます。
Cling実行
まずは普通にClingを実行してみます。
$ ./cling_2018-03-02_ubuntu16/bin/cling
****************** CLING ******************
* Type C++ code and press enter to run it *
* Type .q to exit *
*******************************************
[cling]$
指示どおり.q
あるいはCtrl+c
を実行すると抜けます。
次にこのパスを通しておきましょう。は自身のユーザー名に置き換えてください。
$ export PATH=/home/<username>/cling_2018-03-02_ubuntu16/bin:$PATH
ただ、これではシェルを閉じてしまえばまた実行しなければならなくなるのでログインシェルの一番下あたりに上の一文を追加しておくといいと思います。
たとえば、bashを使っていれば.bashrc
ファイルを開いて一番下に追記
Jupyter-kernel準備
それではJupyter上で実行できるようにします。
(sudo権限が無いといけなかったので更新しました。
$ cd cling_2018-03-02_ubuntu16/share/cling/Jupyter/kernel
$ sudo pip3 install -e .
$ sudo jupyter-kernelspec install --user cling-cpp11
$ sudo jupyter-kernelspec install --user cling-cpp14
$ sudo jupyter-kernelspec install --user cling-cpp17
Jupyter実行
$ cd
$ jupyter-notebook
# (または jupyter notebook)
さて、ここまでやればJupyter上で実行できることが確認できます。
ちゃんとKearnelもReadyになりました。
- C++11
- C++14
- C++17
今回はこんな感じです。
お疲れ様でした。