Ubuntu20.04下实现jupyter中C++代码编写

2 篇文章 0 订阅
1 篇文章 0 订阅

前言

生命在于折腾

在之前体验过用Jupyter notebook运行Python代码后,深深地喜欢上了这一编程环境。加上最近准备学习cpp来找工作。
在最开始用vs,clion后,总觉得记笔记存在一些割裂感。想着能不能在jupyter上运行c++的kernel,这样也方便用于记录笔记。
好事多磨,最开始我也没想到安装ubuntu双系统。查到的教程都是如何在Windows基础上安装ubuntu子系统的
Windows10下安装Ubuntu子系统

但是!我安装完以后,虽然能够安装相应的kernel。但是总是存在运行不了的情况。可能跟我的Windows版本有关。在折腾了几次以后,我就放弃了。进而琢磨ubuntu双系统安装去了

话不多说,在查阅一些安装ubuntu双系统相关博客后,就开始动手!

前期准备

在安装过程中,主要参考了这篇文献。
Win10+Ubuntu18.04双系统安装教程

这篇文章写得比较细致。主要需要进行的准备工作无外乎:

  1. 在Windows系统下,压缩出来两个额外磁盘。具体大小根据自己的需求以及配置来。我是0.5T的固态以及2T的机械。所以当时分配了1G的固态以及200G的机械出来。
  2. 下载Ubuntu并且通过软碟通制作以下系统启动盘。
  3. 在安装过程中,按照上面这个链接进行操作、分区

ubuntu配置

在安装好后,ubuntu还不是很适合使用。或者说,与我们常用的Windows存在差别。很幸运地是,网上有一篇关于ubuntu20.04基础配置的文章。
Ubuntu 20.04最佳配置指南(新手必备)

一些安装心得

值得一提的是,现在实测已经可以安装搜狗拼音输入法。而且安装也很简单,可以在搜狗输入法的官网下载Linux版本的.deb文件,并且在ubuntu software里面找到fcitx安装。
再点击语言支持,将键盘输入法系统从ibus更改为fcitx
最后,双击下载完成的sogoupinyin_2.3.2.07_amd64-831.deb。点击安装,
重启,找到右上角的输入法->配置当前输入法。设置如下图应该就可以使用了。
注:目前好像搜狗输入法可以使用,但是没办法更换皮肤。也没办法实现Windows下词库同步。

fcitx

实现jupyter下c++内核的安装

言归正传,我的目的可是实现jupyter notebook与c++编程的结合。

因此,我们需要安装miniconda,以便安装管理我们的环境。个人在使用过程中的感受就是,太好用了。最开始接触它是因为,电脑安装了Python3,结果有个项目仿真需要用到Python2相关的代码。所以就通过miniconda创建了一个相关的单独环境。
于是,在我们新安装好的ubuntu20.04中,假定大家已经安装好了minconda。我建议大家在做任何一个项目的时候,都给他们单独配置一个环境。关于anaconda的一些基本命令可以参考我做的这篇笔记。
anaconda的环境进入、退出、新建、导出以及导入
这里我们可以通过命令

conda create -n 环境名

来创建一个加载了c++内核的环境。并且通过命令

conda env list

查看是否建立成功。如果建立成功的话,可以进入该环境。先安装jupyter notebook

其实这里我推荐大家可以试试jupyter lab,这可以理解为jupyter notebook的升级版。
功能更多:一键安装插件,文件管理等。

安装完成以后,就直接通过命令行

jupyter lab
jupyter notebook

打开web编程界面。这时候,是没办法新建关于c++内核的.ipynb文件的。但是,当我们安装了c++内核以后。

conda install xeus-cling -c conda-forge

我们的界面就会变成如下:
在这里插入图片描述
新建一个c++内核的.ipynb文件。输入以下代码:

#include<iostream>

using namespace std;

int main(){
    cout<<"hello world";
}

会发现报错啦。哈哈哈。然后看报错名字就能发现,它要求所有函数定义都单独一个命令行实现。
在这里插入图片描述
当然,经过一段时间的编程学习。我发现jupyter上,对于c++的代码补全功能支持的很差,或者我现在还没有发现。
但是处于学习阶段,这种交互式编程体验,让我觉得很受用。

以上就实现了大多数朋友的目的,在jupyter上运行c++代码。

懒人福利

在成功配置了自己的ubuntu系统,并且实现了jupyter与c++内核结合以后。我想着,有时候身边没有台式机,只有笔记本的时候,怎么实现这一工作。就又扭头顺便折腾另一台电脑去了。

有过之前的许多困难、经验。安装的非常顺利、迅速。
借用我这周五(2020.9.19)完成所有折腾后的一个心得就是:
感谢onedrive,googledrive,支持import,export的.json, .yml格式。让我极大地省去了麻烦与时间。

所以,如果只是想配置好一个能编写c++代码的jupyter环境。我已经将我的环境配置导出来,并且在另一台电脑上,通过

conda env update --f xx.yml

成功导入,并且实现了这一功能。有需要的可以自行下载。
但需要注意的是,一个是base的环境文件,一个是装载了c++内核的环境文件。需要分别在base环境以及自己新建的环境xxxx下执行命令conda env update --f xx.yml

进击的Google Drive

在安装了jupyter lab以后,翻看他的插件发现有个google-drive的插件。
前面不是提到了么,有时候在A电脑上编程,有时候又需要在B电脑上编程。但是工作希望能够接续起来。于是找了些关于插件使用的教程。
JupyterLab 与 Google Drive的完美融合!

按照这篇要求来进行配置即可。
在完成以后,需要回到jupyter lab的**setting*->Advanced Settings Editor*
在这里插入图片描述
在右边输入自己得到的ID即可。

接下来,如果配置没有出错的话,你的Google Drive就会弹出来一个登录界面。但这取决于你的链接速度。而且刚开始的时候会很慢。一旦读取成功以后2~3s就能实现同步。操作如下图

在这里插入图片描述在这里插入图片描述
可以发现二者是完全同步的。

后记

在jupyter中编写c++,虽然能让我们边学边记,但是他的代码补全功能支持的只能说不是很好。当然,可能是因为我还没找到正确的打开方式。如果有知道的朋友,麻烦评论区告知一下。
如果后面我找到了好用的插件之类的,我会及时分享出来的。
如果大家觉得不错的话,可以点个小赞鼓励我一下哦。^_^

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值