Ubuntu安装conda以后,给jupyter安装C++内核

前言

         大家都知道,jupyter notebook 可以支持python环境,可以在不断点调试的情况下,打印出当前结果,如果代码错了也不影响前面的内容。于是我就想有没有C++环境的,结果还真有。

参考文章:

【分享】Ubuntu安装jupyter C++内核(通过miniconda3)_jupter cling-CSDN博客

Jupyter notebook添加与删除kernel_jupyter添加内核-CSDN博客

使用JupyterLab写C++_jupyter c++-CSDN博客

        虽然是参考了,但是前两次安装却出现问题了,所以干脆重新写一篇记录一下:

一、安装anaconda

        从官网下载:Index of / (anaconda.com)   ,尽量下载比较新的,比如我下载的是2024年2月的那个 sh 。如果是虚拟机Ubuntu就需要安装这个:

        使用共享文件夹,放如虚拟机的某个地方,然后运行:

bash ./Anaconda3-2024.02-1-Linux-x86_64.sh

        回车,输入yes, 在最后会提示安装环境,这里回车就好。默认安装在主目录下的anaconda3下。然后配置到环境变量中,vi ~/.bashrc  :

        在最后添加(自己把user换成自己的用户名):

         export PATH="/home/user/anaconda3/bin:$PATH"

        然后:  wq  保存退出,输入命令:

         source  ~/.bashrc 应用环境。然后输入命令:

         conda init  ,只要没有报错,就表示正常。

二、创建虚拟环境,安装cling和jupyter

        输入命令:conda create -n myenv  python=3.7

        会提示,输入yes 

        

        输入命令: conda activate myenv

        如果客户端前面出现(myenv)就表示正常:

       (以下记得联网,并且请不要退出myenv环境:)

安装jupyter以及一些插件扩展 

        输入命令:pip install jupyter notebook 

        输入命令:pip install jupyter_contrib_nbextensions jupyter_nbextensions_configurator

        输入命令:jupyter nbextensions_configurator enable --user

        输入命令:jupyter nbextension enable nbextensions_configurator/config_menu/main

        (最好别用这条:否则必须使用jupyter-lab才能进,之所以放出来是因为我用了,而且暂时无法改回去,这里给自己留个坑):conda install jupyterlab

安装C++ cling 环境:

        输入命令:conda install xeus-cling -c conda-forge         会下载一大堆:

可选安装,安装C环境:)

pip3 install jupyter-c-kernel

install_c_kernel  --user

安装验证:

        输入命令:jupyter kernelspec list      查看是否安装成功:

输入jupyter notebook,过一会儿会弹出浏览器:就可以点击新建,会发现多了一堆

(注意,如果安装了jupyter-lab, 就需要使用jupyter-lab才能进,jupyter notebook会提示500)

三、使用jupyter notebook 写C++

        在刚刚的环境中,(以后也可以输入 conda activate myenv  进入环境):

        进入一个空的可以放代码的地方, 输入命令:jupyter notebook   ,然后过一会儿会自动打开浏览器:这时候点击 new 按钮:

        这时候可以选择多个内核,比如C++内核:

测试一下:

输入代码以后,安装 Ctrl + Enter ,不报错就正常。而且测试代码,发现,不需要main函数:

果然非常好用!!!

四、使用jupyter写C++的OpenCV

        命令行输入命令:conda install -c conda-forge opencv

        命令行输入命令:conda install -c conda-forge libopencv

        以上命令将安装C++和python版本的OpenCV库,OpenCV3.4。

        (可选:命令行输入命令:sudo apt-get install gcc-multilib g++-multilib  )

验证:

        不报错表示正常。但是如果测试,会发现没有窗口显示,所以继续安装:

        命令行输入命令:conda install -c conda-forge gtk2

        发现好像又给安装到了OpenCV4.6 ,而且还同时安装了一大堆其他的,搞不懂为啥

        时间有点长,需要慢慢等,只要不报错,不要去管他,否则反而会出错。

        然后发现,只要设计到显示图片,就会报错,处理图片倒是没问题:

只要是设计显示,就会出现:

        此处填坑,以后来继续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/438466.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何排查合并问题——《OceanBase诊断系列》之七

1. 前言 OceanBase数据库的存储引擎以 LSM-Tree 架构为基础,区分静态基线数据(存储在只读SSTable)和动态增量数据(存储在可读写MemTable)。其中 SSTable 是只读的,一旦生成就不再被修改,存储于…

怎么给3d模型贴图?---模大狮模型网

在3D建模软件中给模型贴图是一种常见的操作,可以让模型外表更加生动和具有视觉效果。 给3D模型贴图: 准备贴图:首先需要准备好你要用来贴图的纹理图片,确保图片符合模型的尺寸和比例。 导入贴图:在3D建模软件中打开模…

多模态入门

VIT处理图像 CNN VS Transformer 多模态BLIP模型 网络结构 视觉编码器: 就是 ViT 的架构。将输入图像分割成一个个的 Patch 并将它们编码为一系列 Image Embedding,并使用额外的 [CLS] token 来表示全局的图像特征。视觉编码器不采用之前的基于目标检测器的形式,因为 ViLT 和…

YOLOv9(2):YOLOv9网络结构

1. 前言 本文仅以官方提供的yolov9.yaml来进行简要讲解。 讲解之前,还是要做一些简单的铺垫。 Slice层不做任何的操作,纯粹是做一个占位层。这样一来,在parse_model时,ch[n]可表示第n层的输出通道。 Detect和DDetect主要区别还…

Media Encoder 2024:未来媒体编码的新纪元 mac/win版

随着科技的飞速发展,媒体内容已成为我们日常生活中不可或缺的一部分。为了满足用户对高质量视频内容不断增长的需求,Media Encoder 2024应运而生,它凭借卓越的技术和创新的特性,重塑了媒体编码的未来。 Media Encoder 2024软件获…

计算机的基础知识

计算机的特点及应用: 图灵说–计算就是基于规则的符号串变换从20世纪80年代开始,发达国家开始研制第五代计算机,研究的目标是能够打破以往计算机固有的体系结构,使计算机能够具有像人一样的思维、推理和判断能力,向智…

mysql的语法总结2

命令: mysql -u 用户名 -p mysql登录 命令:create database u1 创建数据库u1 查询数据库 使用数据库u1 创建表department 查询表department ALTER TABLE 表名 操作类型; 操作类型可以有以下的操作: 添加列&#x…

SpringMVC | SpringMVC的“入门“

目录: Spring MVC入门 :Spring MVC 概述第一个Spring MVC应用SpringMVC 的 “工作流程” Spring MVC入门 : 作者简介 :一只大皮卡丘,计算机专业学生,正在努力学习、努力敲代码中! 让我们一起继续努力学习! 该文章参考学习教材为&a…

一文读懂Persistence One- 如何将Restaking带入Cosmos

Persistence One正在将Restaking引入Cosmos。用户将能够通过pSTAKE、Stride、Quicksilver和Milkyway将Liquid Staked Tokens(如ATOM、TIA、DYDX等)存入Persistence One,对其进行Restaking,从而安全地连接更多区块链,首…

计算机网络之传输层 + 应用层

.1 CIDR地址块中还有三个特殊的地址块 a. 前缀 n 32 , 即32位IP地址都是前缀, 没有主机号, 这其实就是一个IP地址, 用于主机路由 b. 前缀 n 31 , 这个地址块中有两个IP地址, 主机号分别为0/1 , 这个地址块用于点对点链路 c. 前缀 n 0 , 用于默认路由使用二叉线索树查找转发…

就业班 2401--3.7 Linux Day13--日志轮转+jumpserver堡垒机

一、日志轮转 日志重要性 Linux系统日志对管理员来说,是了解系统运行的主要途径,因此需要对 Linux 日志系统有个详细的了解。 Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中&a…

【备战蓝桥杯系列】Java组国二选手笔记一:蓝桥杯中的常用语法特性

蓝桥杯Java国二选手笔记一:蓝桥杯中的常用语法特性 前言 参加了好几次蓝桥杯了,C组参加了,Java也参加过,也会用python刷算法。下面给出常用的Java语法特性在蓝桥杯中的使用,以及常见的需要注意的Java语法规范。有准备…

Git你必须知道的知识

一:使用Git的原因 我们在写版本的时候,可能会谢谢改改,可能要回到之前的文件,修改之前的文件,因此总是要保持很多个文件,且书写文件名也很麻烦。git可以有一个仓库,版本库,可以保存这…

c语言经典测试题12

1.题1 float f[10]; // 假设这里有对f进行初始化的代码 for(int i 0; i < 10;) { if(f[i] 0) break; } 上述代码有那些缺陷&#xff08;&#xff09; A: for(int i 0; i < 10;)这一行写错了 B: f是float型数据直接做相等判断有风险 C: f[i]应该是f[i] D: 没有缺…

GamiPress与MyCred:游戏化插件

游戏化插件很受欢迎&#xff0c;可以提高用户参与度并鼓励在动态网站和内容管理环境中采取所需的操作。GamiPress和MyCred 是游戏化领域的主要参与者&#xff0c;它们提供功能丰富的解决方案&#xff0c;将游戏机制有效地融入网站。旨在吸引并留住受众的组织面临着 GamiPress 和…

什么是攻防演练,能给企业带来什么

随着互联网技术的发展和企业信息化程度的提高&#xff0c;企业面临的网络安全威胁越来越多。为了保护企业的信息安全&#xff0c;攻防演练已经成为企业安全运营中不可或缺的一部分。攻击者通常会利用各种方法来破坏企业的安全系统和数据&#xff0c;因此企业需要像攻击者一样思…

TDengine 资深研发分享解决思路,长查询不再成为系统性能瓶颈!

长查询问题指的是在数据库写入和查询并存的日常应用场景中&#xff0c;存在处理数据量大且耗时很长的查询长时间占用系统资源&#xff0c;导致写入可能被阻塞的问题。有时&#xff0c;查询代码对于资源释放函数调用的遗忘也可能以长查询问题的形式表现出来。如何在数据写入不被…

一家新店怎么快速出体验分?教大家一个简单好用的方法,建议收藏

大家好&#xff0c;我是电商花花。 在现在直播电商时代&#xff0c;抖音电商已经成为了一种新兴的商业模式&#xff0c;在抖音小店的项目上&#xff0c;店铺体验分成为了抖音小店能否成功的一个关键因素之一。 店铺的体验分越高&#xff0c;我们店铺的权重才会更高&#xff0…

基于springboot+vue的在线远程考试系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

前端如何上传图片给后台?如何传递 multipart/form-data 类型的数据?图片大小、格式检查?

1. 如何上传图片&#xff1f; 图片上传需要传二进制流&#xff0c;请求头的 content-type 类型需为 multipart/form-data&#xff0c;传递的格式如下图所示 前后端交互通常为&#xff1a; 先调用接口上传二进制流图片然后再上传表单其他内容&#xff08;第一步通常会返回后台…