最近很喜欢使用jupyter这个IDE,因为jupyter有所见即所得的效果,于是想让 Jupyter添加对java、C++的支持。Jupyter Notebook 支持非常多的编程语言,而且可以直接运行这些语言的代码。要让 Jupyter Notebook 能够运行特定语言的代码,需要添加对应的内核。具体支持的语言及内核可以查看该链接: https://github.com/jupyter/jupyter/wiki/Jupyter-kernels 。下面分别讲述对java和c++的支持。
对Java的支持
首先要保证java版本在java9或以上
1、从https://github.com/SpencerPark/IJava/releases下载ijava-1.3.0.zip,解压。
2、python setup.py –sys-prefix
3、jupyter kernelspec list
可以看到jupyter对java的支持添加成功。
对C++的支持
1、添加 C++ cling 内核,克隆 cling 的 Github 官方仓库:
git clone https://github.com/root-project/cling.git
在进行编译操作之前,首先要确保你的机器上已经装好了 cmake 工具,即能够直接通过输入命令 cmake执行程序。
如果cmake已经正确安装,就可以进行以下的操作了。
切换到cling/tools/packaging/目录下,执行以下两条命令:
chmod +x cpt.py
./cpt.py --check-requirements && ./cpt.py --create-dev-env Debug --with-workdir=./cling-build/
这个过程包含了从网络上获取源文件以及编译,是最为耗时的一个阶段,以小时计。
编译完成后,需要先添加环境变量,在.bashrc中添加
#Jupyter支持C++
export PATH=$PATH:/home/wc/cling/tools/packaging/cling-build/builddir/bin
然后source .bashrc让该文件生效
然后需要在 python3 中安装 clingkernel。切换到 cling/tools/Jupyter/ 目录下,执行
pip3 install kernel/
最后一步,往 Jupyter Notebook 中添加 cling 内核,可以根据自己的需要安装特定 C++ 规范的 cling 内核,例如 cling-cpp11, cling-cpp14, cling-cpp17。
jupyter kernelspec install kernel/cling-cpp17
如果没有其他问题,此时就可以打开 Jupyter Notebook 感受不一样的 C++ 编程了!
官方代码示例:
class Rectangle {
private:
double w;
double h;
public:
Rectangle(double w_, double h_) {
w = w_;
h = h_;
}
double area(void) {
return w * h;
}
double perimiter(void) {
return 2 * (w + h);
}
};
Rectangle r = Rectangle(5, 4);
r.area();
最终运行结果
关于安装cling,需要慎重,因为下载编译之后该文件夹占空间达到30多个G,如果空间不够,小心把系统搞死。
参考
https://blog.csdn.net/qq_39973546/article/details/80152416
http://blog.sina.com.cn/s/blog_541944e10102xla0.html
更简单的支持C++方法