jupyter notebook 安装 C/C++ kernel

若是你想在jupyter notebook中交互式编写C以及C++,那么本文是为你而写^_^python

1. 准备工做

为了减小安装过程当中没必要要的烦恼,影响你美美的心情,请确保目标机器上已经安装了Anaconda,下载地址:www.anaconda.com/distributio…。如已安装,请跳过。ios

2. 安装环境

如下列举环境是通过实践检验的环境,仅供参考,并不是要求严格一致。c++

2.1 Linux

  • CentOS Linux release 7.4.1708 (Core)
  • Anaconda3
  • conda 4.6.11

2.2 macOS

  • macOS Mojave 10.14.4
  • Anaconda3
  • conda 4.6.14

注:windows目前还未获得较好支持git

3. 开始安装

C语言和C++由不一样kernel支持,二者没有依赖关系,所以能够根据须要只安装其中一个,或两个都安装,但推荐安装C++ kernel,这是主流的kernel,由更加专业的团队维护的项目,C kernel是由我的开发者维护的小型项目,实现较为简单,但若是想快速体验在jupyter notebook运行C,也是不错的选择。若是想了解更多jupyter支持的kernel,能够参考github.com/jupyter/jup…github

3.1 安装C++ kernel (xeus-cling)


  • 建立新的虚拟环境,命名为cling,或者你喜欢的其余名称,好比,若是你想在此环境安装C++和C Kernel,能够取名为c_cpp
conda create -n cling
复制代码
  • 切换到新建立的虚拟环境
conda activate cling
复制代码
  • 给新环境安装jupyternotebook
conda install jupyter notebook
复制代码
  • 使用conda-forge镜像channel安装xeus-cling
conda install xeus-cling -c conda-forge
复制代码
  • 检查是否成功安装了kernel
jupyter kernelspec list
复制代码

正确安装,会显示如下四个kernel:shell

python3 /anaconda3/envs/cling/share/jupyter/kernels/python3windows

xcpp11 /anaconda3/envs/cling/share/jupyter/kernels/xcpp11微信

xcpp14 /anaconda3/envs/cling/share/jupyter/kernels/xcpp14网站

xcpp17 /anaconda3/envs/cling/share/jupyter/kernels/xcpp17ui

  • 打开notebook
jupyter notebook
复制代码

在新建下拉菜单里能够看到看到上面的四个kernel,选择C++ 11:

将如下c++代码复制黏贴到cell中,按下shift+enter,运行C++代码,enjoy it!:

#include <iostream>

std::cout << "Hello world!" << std::endl;
复制代码

补充:快捷安装

若是你不想一步步看完,或者你和我同样是个急性子的人,想一步到位,那么可使用如下方法,一步搞定:

  • 新建文件,命名为cling.yml, 将如下内容复制黏贴到cling.yml中:
name: cling
channels:
 - conda-forge
 - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
 - defaults
dependencies:
 - python=3
 - pip=19.2.1
 - jupyter
 - notebook
 - xeus-cling=0.7.1
复制代码
  • 经过yml文件建立虚拟环境
conda env create -f cling.yml
复制代码

没错只需两步,你已经完成和前面等效的环境建立,此方法推荐用于二次安装相同环境,本质是导出了上述环境,若是是首次安装,建议尝试一步步来的安装方式,更能加深对kernel工做机制的理解,以便之后安装其余语言的kernel。

3.2 安装C kernel (jupyter-c-kernel)

目前官方列举的第三方提供的C kernel,支持的比较好的是jupyter-c-kernel,在没有更好的C kernel出来前,这是一个不错选择。若是你熟悉了C++ Kernel的安装,那么安装jupyter-c-kernel也是大同小异,所以就不一一列举步骤,而是将全部安装命令汇总在一块儿:

3.2.1 建立新的虚拟环境安装

若是你想单独在一个新的环境安装C kernel, 可使用以下命令(可将所有复制到一个shell脚本中,在命令行运行, 或一行行运行):

conda create -n clang
conda activate clang
conda install jupyter notebook
pip install jupyter-c-kernel
install_c_kernel
jupyter kernelspec list
jupyter notebook
复制代码

3.2.2 在已有的虚拟环境安装

若是你不想重复安装jupyter, 能够在前面的环境里(clingc_cpp),直接使用pip安装jupyter-c-kernel:

pip install jupyter-c-kernel
复制代码

须要注意的是,不一样于xeus-cling在使用conda安装后,就能够经过命令jupyter kernelspec list查看到,使用pip安装jupyter-c-kernel后,会在当前环境可执行程序路径生成一个可运行命令install_c_kernel,须要再单独运行此命令install_c_kernel, 固然通常都已自动添加到环境变量里,所以能够直接运行。(细心的同窗,应该注意到在上一小节也运行了这个命令)

install_c_kernel
# 查看已安装kernel
jupyter kernelspec list
复制代码

再次打开jupyter notebook, 以下:

选择C,新建notebook, 将如下C代码复制到cell:

#include <stdio.h>

int main () {
    printf("Hello world!\n");
    return 0;
}
复制代码

运行C代码, enjoy it!:

汇总

若是你想像3.1中使用‘yml’文件一次安装两个kernel,只要在3.1的文件上基础稍加改动,以下:

name: c_cpp
channels:
 - conda-forge
 - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
 - defaults
dependencies:
 - python=3
 - pip=19.2.1
 - jupyter
 - notebook
 - xeus-cling=0.7.1
 - pip:
 - jupyter-c-kernel==1.2.2
复制代码

复制黏贴到文件c_cpp.yml, 并在c_cpp.yml相同目录下运行以下命令:

conda env create -f c_cpp.yml
conda activate c_cpp
install_c_kernel
jupyter kernelspec list
复制代码

参考


坚持写专栏不易,若是以为本文对你有帮助,记得点个赞。感谢支持!


微信扫描二维码 获取最新技术原创

相关文章
相关标签/搜索