windows系统下安装Ubuntu20.04
前言
生命在于折腾
在之前体验过用Jupyter notebook运行Python代码后,深深地喜欢上了这一编程环境。加上最近准备学习cpp来找工作。
在最开始用vs,clion后,总觉得记笔记存在一些割裂感。想着能不能在jupyter上运行c++的kernel,这样也方便用于记录笔记。
好事多磨,最开始我也没想到安装ubuntu双系统。查到的教程都是如何在Windows基础上安装ubuntu子系统的
Windows10下安装Ubuntu子系统
但是!我安装完以后,虽然能够安装相应的kernel。但是总是存在运行不了的情况。可能跟我的Windows版本有关。在折腾了几次以后,我就放弃了。进而琢磨ubuntu双系统安装去了
话不多说,在查阅一些安装ubuntu双系统相关博客后,就开始动手!
前期准备
在安装过程中,主要参考了这篇文献。
Win10+Ubuntu18.04双系统安装教程
这篇文章写得比较细致。主要需要进行的准备工作无外乎:
- 在Windows系统下,压缩出来两个额外磁盘。具体大小根据自己的需求以及配置来。我是0.5T的固态以及2T的机械。所以当时分配了1G的固态以及200G的机械出来。
- 下载Ubuntu并且通过软碟通制作以下系统启动盘。
- 在安装过程中,按照上面这个链接进行操作、分区
ubuntu配置
在安装好后,ubuntu还不是很适合使用。或者说,与我们常用的Windows存在差别。很幸运地是,网上有一篇关于ubuntu20.04
基础配置的文章。
Ubuntu 20.04最佳配置指南(新手必备)
一些安装心得
值得一提的是,现在实测已经可以安装搜狗拼音输入法。而且安装也很简单,可以在搜狗输入法的官网下载Linux版本的.deb文件,并且在
ubuntu software
里面找到fcitx
安装。
再点击语言支持,将键盘输入法系统从ibus
更改为fcitx
。
最后,双击下载完成的sogoupinyin_2.3.2.07_amd64-831.deb。点击安装,
重启,找到右上角的输入法->配置当前输入法。设置如下图应该就可以使用了。
注:目前好像搜狗输入法可以使用,但是没办法更换皮肤。也没办法实现Windows下词库同步。
实现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++,虽然能让我们边学边记,但是他的代码补全功能支持的只能说不是很好。当然,可能是因为我还没找到正确的打开方式。如果有知道的朋友,麻烦评论区告知一下。
如果后面我找到了好用的插件之类的,我会及时分享出来的。
如果大家觉得不错的话,可以点个小赞鼓励我一下哦。^_^