LoginSignup
10
4

More than 5 years have passed since last update.

WSLを利用してWindowsでC++のJupyterカーネル(xeus-cling)を動かす

Last updated at Posted at 2018-04-15

WSL(Windows System for Linux)を利用してC++用Jupyterカーネルであるxeus-clingをWindows10搭載マシンで動かしてみた際のメモです。(2018/4/15実行)

OSはWindows10 Pro バージョン 1709
WSLのディストリビューションはDebianを採用しました。

WSLのインストール

まずはWSLをインストールします。
WSLのインストール手順については以下などを参照してください。
https://qiita.com/Brutus/items/f26af71d3cc6f50d1640
(2018/1/25 更新)
http://qiita.com/Aruneko/items/c79810b0b015bebf30bb 
(2017/11/2 更新)

Jupyterの準備

Jupyterを使うために、WSL上にpyenvとAnacondaをインストールします。
以下はhttps://qiita.com/yaju/items/1130c56abe64ec9d9827   
(2018/1/13 更新)
及び、https://qiita.com/dd511805/items/23891da61559405fd5f6 
(2017/1/27 更新)
より抜粋しました。

pyenvのインストール

$ sudo apt-get install aptitude
$ sudo aptitude install git
$ git clone https://github.com/yyuu/pyenv ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc

Anacondaのバージョン確認

$ pyenv install --list

して、表示される中からAnaconda3の最新バージョンを確認してください。
(本記事作成時点ではAnaconda3-5.1.0が最新でした)

Anacondaのインストール

バージョンは適宜変更してください

$ pyenv install anaconda3-5.1.0
$ pyenv global anaconda3-5.1.0
$ pyenv rehash

(筆者の環境では、ここで30分以上かかりました)

Jupyterの実行

Anacondaが正常にインストールされていればJupyter notebookが実行できるはずなので、
ここで一度試してみましょう。

$ jupyter notebook

を実行すると以下が表示されます。

Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=8ff994a9c058ccd4509216f1f37ed3760a0f9d1a49bc9de7

表示されている長いクエリ付きURLをお使いのブラウザに入力してください。

xeus-clingのインストール

Jupyterが無事実行できれば、次にxeus-clingをインストールします。
QuantStack/xeus-cling: https://github.com/QuantStack/xeus-cling

上記のページのInstallationと同様の手順でインストールすることができます。
WSLを起動して

$ conda create -n cling
$ source activate cling
$ conda install xeus-cling notebook -c QuantStack -c conda-forge

を実行すればOKです。
(筆者はここでも30分以上かかりました)

Hello World

最後に実際にテストプログラムを動かしてみます。
まずJupyterを起動します。
すると、以下のようにC++11、C++14、C++17のオプションが増えているはずです。
とりあえずここではC++17で新しいNotebookを作成します。

じゅpy.jpg

テストとして、以下のプログラムをセルに入力します。

#include <iostream>

std::cout << "Hello World" << std::endl;

実行結果が以下のようになっていれば無事導入できているはずです。

hello world.jpg

以上です。
問題、修正すべき点があればお知らせください。

10
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
4