从如何安装 cling?,我已经下载了 cling-ubuntu 的预安装二进制文件https://root.cern.ch/download/cling/
$ wget https://root.cern.ch/download/cling/cling_2017-03-30_ubuntu16.tar.bz2
$ dtrx cling_2017-03-30_ubuntu16.tar.bz2
$ cd cling_2017-03-30_ubuntu16
$ ls
~/cling_2017-03-30_ubuntu16/$ ls
bin include lib libexec share
~/cling_2017-03-30_ubuntu16/$ cd share/cling/Jupyter/kernel/
~/cling_2017-03-30_ubuntu16/share/cling/Jupyter/kernel/$ ls
build cling-cpp14 cling.ipynb clingkernel.py scripts
cling-cpp11 cling-cpp17 clingkernel.egg-info __pycache__ setup.py
在文档, 它说:
pip install -e .
但说到步骤:
# register the kernelspec for C++17/C++14/C++11:
# the user can install whichever kernel(s) they
我应该使用哪个 C++ 版本?我没有安装任何这些?我gcc
通常用它来编译我的 C++ 代码。
甚至当我尝试使用以下命令安装所有:
jupyter-kernelspec install cling-c++17
jupyter-kernelspec install cling-c++14
jupyter-kernelspec install cling-c++11
Jupyter 笔记本在主页上显示内核,但是当我创建一个新的笔记本时,内核要么死机,要么不断重新启动。
答案1
我尝试了您的步骤,也遇到了问题。我更幸运地从源代码构建,安装构建的内核并运行它。我没有关于您的构建的详细信息;在尝试此操作之前,请确保从 Jupyter 中删除任何以前的内核。为此,根据您上面的输入,使用以下命令:
~/cling_2017-03-30_ubuntu16/share/cling/Jupyter/kernel
jupyter kernelspec uninstall cling-cpp11
现在,这是我的构建说明(我正在运行 Ubuntu 16.04):
mkdir -p ~/builds && cd ~/builds
wget https://root.cern.ch/download/cling/cling_2017-04-15_sources.tar.bz2
tar jxf cling_2017-04-15_sources.tar.bz2
mv src cling_2017-04-15
mkdir -p ~/builds/cling_2017-04-15/build
cd ~/builds/cling_2017-04-15/build
cmake -DCMAKE_BUILD_TYPE=Release ../
make -j8
sudo make install
sudo ldconfig
cd /usr/local/share/cling/Jupyter/kernel
sud pip3 install -e .
sudo jupyer kernelspec install cling-cpp11
cd ~ && jupyter notebook
现在,您可以尝试 Jupyter 中的一个简单示例。Cling 正在不断发展,因此请查看文档以了解最新语法。
答案2
这些文档和当前代码之间的 kernelspec 目录命名可能存在差异。似乎他们现在使用“cpp”而不是“c++”。例如使用
jupyter-kernelspec install cling-cpp11
在我的 cling_2017-03-30_ubuntu16 安装上运行得更好。