jupyterlab开发环境最佳构建方式

news2024/11/18 13:32:23

文章目录

    • 背景
    • jupyterlab环境构建
    • 运行虚拟环境构建以及kernel映射
    • 验证
    • 总结

背景

从jupyter notebook切换到了jupyter lab. 这里记录一下本地环境的最佳构建方式. jupyter lab 安装在jupyterlab-local的anaconda 虚拟环境中.建立多个其他虚拟环境安装各种python包实现环境隔离, 并将这些虚拟环境映射为jupyter的kernel实现多个虚拟环境可被jupyterlab访问.

jupyterlab环境构建

jupyterlab 安装在jupyterlab-local的虚拟环境中, 首先使用conda 创建虚拟环境 python选择3.10版本

conda create -n jupyter-lab python=3.10 -y

然后激活 此环境安装jupyterlab

# 激活环境
conda activate jupyterlab-local
# 安装jupyterlab
conda install -c conda-forge jupyterlab

此时查看kernel信息

# 查看kernel状态
jupyter kernelspec list
# 当前虚拟环境中已经存在jupyter kernel 这是默认的kernel
~/anaconda3/envs/jupyterlab-local/share/jupyter/kernels/python3

退出当前虚拟环境

conda deactivate

运行虚拟环境构建以及kernel映射

新的虚拟环境用于管理python各种依赖包, 并将其映射为jupyter kernel
首先依然是创建虚拟环境, 此处创建test的虚拟环境

conda create -n test python=3.10 -y

激活当前虚拟环境test

conda activate test

安装关键包ipykernel 任何一个虚拟环境要映射为jupyter kernel 必须安装此包, 且最好用conda 安装

conda install ipykernel -y

将当前虚拟环境映射为kernel(关键操作)

python -m ipykernel install --user --name {kernelName} --display-name {displayName}

此处kernelName和displayName都叫test

python -m ipykernel install --user --name test --display-name test

此时有一句很关键的日志

Installed kernelspec test in ~/Library/Jupyter/kernels/test

此处会发现路径里面不再有conda 虚拟环境相关的文件加, 可以理解为当前kernel可以夸虚拟环境共享了
当然也可以在当前虚拟环境中的kernel状态

# 查看当前虚拟环境中kernel状态
jupyter kernelspec list
# kernel 列表如下
Available kernels:
  python3    ~/anaconda3/envs/test/share/jupyter/kernels/python3
  test       ~/Library/Jupyter/kernels/test

可以这样理解第一行就是本虚拟环境中kernel的路径, 第二行是它可以被其他虚拟环境访问的路径.
退出当前环境, 完成运行的虚拟环境构建以及kernel的映射.
如果需要删除kernel的映射使用指令:

jupyter kernelspec remove {kernelName}

验证

首先test 环境目前是很干净的, 现在随便往里面安装一个python包, 比如pandas

# 安装依赖包
pip install pandas
# 查看版本
pip list | grep panda
# 结果
pandas            2.1.1

切换到jupyterlab-local的虚拟环境启动jupyterlab

jupyter lab

可以看到launcher页上面已经有两个kernel一个是python3b本虚拟环境自带的,另一个是test,自己创建的.
kernels
选择test kernel 打印pandas 版本

# code
import pandas as pd
print(pd.__version__)
# 结果
2.1.1

实验成功, jupyterlab-local 虚拟环境可以访问test虚拟环境的python包. 右上角切换到python3(jupyterlab-local虚拟环境当前kernel,没有安装pandas)运行结果显示包不存在.

# code
import pandas as pd
print(pd.__version__)
# 结果
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 1
----> 1 import pandas as pd
      2 print(pd.__version__)

ModuleNotFoundError: No module named 'pandas'

总结

  1. 创建虚拟环境jupyterlab-local安装jupyterlab包.
  2. 创建其他虚拟环境安装项目中python框架,包等等,进行环境隔离.
  3. 需要映射成kernel的虚拟环境安装ipykernel, 使用指令
python -m ipykernel install --user --name {kernelName} --display-name {displayName}

将虚拟环境全局映射成jupyter kernel, 实现jupyterlab-local环境可进行访问.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【01】FISCOBCOS的系统环境安装

我们选择ubuntu系统 01 https://www.ubuntu.org.cn/global 02 03下载最新版 04等待下载 00提前准备好VM,点击创建新的虚拟机 01选择自定义安装 02一直下一步到 03 04 05其他的默认即可 06 07 08 09 10 11一直默认到下面 12 13等待安装 安装后重启即可…

华为OD机试 - 构成正方形的数量 - 数据结构map(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、Java算法源码五、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》。 …

【AI视野·今日Robot 机器人论文速览 第三十八期】Thu, 21 Sep 2023

AI视野今日CS.Robotics 机器人学论文速览 Thu, 21 Sep 2023 Totally 39 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Model-free tracking control of complex dynamical trajectories with machine learning Authors Zheng Meng Zhai, Mohammad…

11:STM32---spl通信

目录 一:SPL通信 1:简历 2:硬件电路 3:移动数据图 4:SPI时序基本单元 A : 开/ 终条件 B:SPI时序基本单元 A:模式0 B:模式1 C:模式2 D:模式3 C:SPl时序 A:发送指令 B: 指定地址写 C:指定地址读 二: W25Q64 1:简历 2: 硬件电路 3:W25Q64框图 4: Flash操作注意…

VPN协议是如何工作的

VPN,全名 Virtual Private Network,虚拟专用网,就是利用开放的公众网络,建立专用数据传输通道,将远程的分支机构、移动办公人员等连接起来。 VPN 通过隧道技术在公众网络上仿真一条点到点的专线,是通过利用…

生成式模型和判别式模型区别

目录 1.概念 2.定义​ 3.举例​ (1)例子 A​ (2)例子 B​ 4.特点 5.优缺点 6.代表算法 1.概念 首先我们需要明确,两种不同的模型都用于监督学习任务中。监督学习的任务就是从数据中学习一个模型,并用…

Python教程(14)——Python函数的入门学习

函数是什么?在编程中,函数是一段可重用的代码块,用于完成特定任务或执行特定操作。它可以接输入参数并返回一个值或执行一系列操作。函数可以帮助程序员将代码模块化,提高代码的可读性和可维护性。 函数通常包括以下组成部分&…

SLAM从入门到精通(消息传递)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们只是编写了一个publisher节点,以及一个subscribe节点。有了这两个节点,它们之间就可以通信了。在实际生产中&#…

CNN(九):Inception v3算法实战

🍨 本文为🔗365天深度学习训练营 中的学习记录博客 🍖 原作者:K同学啊|接辅导、项目定制 1 理论基础 Inception v3论文 Inception v3由谷歌研究员Christian Szegedy等人在2015年的论文《Rethinking the Inception Architecture f…

cmd运行jar包,txt文件中文乱码问题

首先,查看我们自己新建的txt文件的编码 我们可以看到:当前编码为UTF-8 然后,我们在cmd中输入命令: chcp 936对应的是默认的GBK编码,如果直接运行jar包,读取txt文件里的中文字符时,就会乱码 …

最新推荐的直链网盘榜单

随着数字化时代的到来,人们对于文件存储和共享的需求越来越大。直链网盘作为一种便捷的云存储解决方案,受到了许多用户的喜爱。本文结合了不同产品测评网站的意见,为您推荐以下几款优秀的直链网盘产品。 1、Zoho Workdrive;2、Goo…

康耐德机器视觉系统在锂电池封装外观缺陷检测发挥什么作用?

随着新能源大力发展,电池的需求越来越多,锂电池生产过程中需要保证质量,通过人工检测会出现错误,而且容易把电池包二次损坏。随着机器视觉技术的发展,很多锂电池生产厂家引入机器视觉来替代人工质检,实现产…

Swiper的使用流程

1.官网查看演示 Swiper演示 - Swiper中文网 2.找到想使用的 比如想使用 卡片切换(255) 记住这个名字 3.去下载示例 下载Swiper - Swiper中文网 4.找到对应文件 5.根据里面引入的东西加到自己的页面 一定要引入swiper的 js 和 css html结构要按示例对应的三层结构 需要 …

深入了解队列数据结构:定义、特性和实际应用

文章目录 🍋引言🍋队列的定义🍋队列的实现🍋队列的应用🍋练习题🍋结语 🍋引言 队列(Queue)是计算机科学中一种重要的数据结构,它常用于各种应用程序中&#x…

typescript 交叉类型

交叉类型简介 TypeScript中的交叉类型是指将多个类型合并为一个类型。这使得我们可以将现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性。 写这篇文章先问大家一个问题,如何让一个对象既有a类型约束,又有b类型约束? 如果你看了我这篇文章types…

【vue2第十九章】手动修改ESlint错误 和 配置自动化修改ESlint错误

目标:认识代码规范 代码规范:一套写代码的约定规则。例如:“赋值符号的左右是否需要空格”,"一句结束是否是要加;”等 为什么要使用代码规范? 在团队开发时,提高代码的可读性。 在创建项目时,我们选择的就是一套完整的代码…

移动机器人运动规划 --- 基于图搜索的Dijkstra算法

移动机器人运动规划 --- 基于图搜索的Dijkstra算法 Dijkstra 算法Dijkstra 算法 伪代码流程Dijkstra 算法步骤示例Dijkstra算法的优劣分析 Dijkstra 算法 Dijkstra 算法与BFS算法的区别就是 : 从容器中弹出接下来要访问的节点的规则不同 BFS 弹出: 层级最浅的原则&#xff0c…

【教学类】公开课学号挂牌(15*15CM手工纸)

作品展示: 15*15CM手工纸 文本框12磅加粗。学号数字是段落写入,黑体270磅 背景需求 最近都在小班、中班、大班里做“Python学具测试”,由于都是陌生的孩子,上课时,我通常只能喊“白衣服的女孩”“花格子衣服的男孩”…

八大排序(三)--------简单选择排序

本专栏内容为:八大排序汇总 通过本专栏的深入学习,你可以了解并掌握八大排序以及相关的排序算法。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:八大排序汇总 🚚代码仓库:小小unicorn的代码仓库…

我写的最蠢的代码

链接 就问你怎么样吧。。。。。。