jupyterlab开发环境最佳构建方式
文章目录
- 背景
- 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/python3test ~/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,自己创建的.

选择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 pd2 print(pd.__version__)ModuleNotFoundError: No module named 'pandas'
总结
- 创建虚拟环境
jupyterlab-local安装jupyterlab包. - 创建其他虚拟环境安装项目中python框架,包等等,进行环境隔离.
- 需要映射成kernel的虚拟环境安装ipykernel, 使用指令
python -m ipykernel install --user --name {kernelName} --display-name {displayName}
将虚拟环境全局映射成jupyter kernel, 实现jupyterlab-local环境可进行访问.
相关文章:
jupyterlab开发环境最佳构建方式
文章目录 背景jupyterlab环境构建运行虚拟环境构建以及kernel映射验证总结 背景 从jupyter notebook切换到了jupyter lab. 这里记录一下本地环境的最佳构建方式. jupyter lab 安装在jupyterlab-local的anaconda 虚拟环境中.建立多个其他虚拟环境安装各种python包实现环境隔离,…...
Qt_C++读写NFC标签Ntag支持windows国产linux操作系统
本示例使用的发卡器:Android Linux RFID读写器NFC发卡器WEB可编程NDEF文本/智能海报/-淘宝网 (taobao.com) ntag2标签存储结构说明 #include "mainwindow.h" #include "./ui_mainwindow.h" #include <QDebug> #include "QLibrary&…...
Web开发-基础知识扫盲
目录 Web 服务器Web 服务器例子 MVC架构Web 项目运行过程负载均衡和反向代理持久化Java对象JPA Web 服务器 Web 服务器是一种计算机程序,它通过 HTTP 协议接收和响应客户端发送的请求。Web 服务器将 HTML、CSS、JavaScript 和其他资源文件发送给客户端,…...
SpringMVC 学习(四)RestFul 风格
5. RestFul 风格 5.1 简介 概念 Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 功能 资源:互联网所有的事物都可以被抽象为…...
消息中间件相关知识
1、概述 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka…...
JackJson多态
JsonTypeInfo 处理多态、序列化对象类型_赵丙双的博客-CSDN博客 JsonTypeInfo实现jackson的多态解析_MonkeyKing_sunyuhua的博客-CSDN博客 Java Jackson JsonTypeInfo 多态类型处理 - 简书 JsonTypeInfo 逻辑名称 JsonSubTypes、JsonTypeName_赵丙双的博客-CSDN博客...
孟晚舟最新发声!华为吹响人工智能的号角,发布“全面智能化”战略部署
原创 | 文 BFT机器人 1、华为孟晚舟新发声,华为发布“全面智能化”战略 上周三(9月30号)上午,华为全联接大会2023正式在上海举行,作为华为副董事长、轮值董事长、CFO的孟晚舟代表华为再次发声!在演讲上&am…...
open62541开发:添加sqlite3 历史数据库
历史数据库在OPCUA 应用中十分重要,例如OPCUA 网关和OPCUA 汇聚服务器中都需要历史数据库功能。但是open62541 协议栈中仅包含了基于内存的历史数据库,在实际应用中是不够的。本博文讨论open62541 中添加sqlite3 为基础的历史数据库若干问题。 借鉴 Gi…...
美国零售电商平台Target,值得入驻吗?如何入驻?
Target 是美国最大的零售商之一,在品牌出海为大势所趋的背景下,它在北美电商中的地位节节攀升。Target 商店在众多垂直领域提供各种价格实惠的自有品牌,吸引越来越多的跨境商家入驻,如美妆、家居、鞋服、日用百货等,随…...
docker freeswitch mysql驱动相关
1. docker环境 的freeswitch要连mysql数据库 2. centos版本:7.9 3. mysql版本:mysql8.0 4. odbc版本:适用以下命令查询 rpm -qa | grep -E "unixODBC|mysql-connector-odbc" mysql-connector-odbc-5.2.5-8.el7.x86_64 unixODB…...
Chrome iframe 跨域失败
原因: Chrome 稳定版禁用 document.domain setter 解决方案(4种): 1 使用低版本Chrome 缺点:无法保证用户浏览器版本。 2 浏览器设置: 浏览器地址栏输入 chrome://flags/#origin-agent-cluster-default然…...
【Vue】vue-cli一站式搭建SPA项目
🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Vue快速入门》。🎯🎯 &…...
CPP代码检查工具
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言CPP代码检查工具工具一:GCC编译器工具二:Cppcheck工具三:gbd调试器工具四:SonarCube嵌入式平台工具内存泄漏检查工具linux的cpu占用情况前言 认…...
在SpringBoot中利用Redis实现互斥锁
在SpringBoot中利用Redis实现互斥锁 基本知识 前提条件,有一个能够在Springboot中使用Redis的项目,或者能够直接开也行 为什么要实现互斥锁:当我们利用Redis存储热点数据时,突然就过期失效或者被删除了,导致大量请求同…...
vue3+eleement plus日历选择季度
<template><div class"el-quarter-wrap"><el-popover width"280" v-model"visible"><template #reference><el-input v-model"quarterDate" placeholder"请选择季度" clearable :prefix-icon&qu…...
实现动态业务规则的方法(Java)
实现动态业务规则的方法(Java) 企业信息化系统核心在于业务领域的概念模型及于此基础上复杂多变的业务规则,实现中通常抽象规则的接口方法,使用继承或策略等设计模式实现不同的业务规则的实现。领域的概念模型在特定领域是稳定的…...
leetcodeTOP100(26)两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …...
performance_schema
插桩名称的最左边部分表示插桩类型,其余部分从左到右依次表示到特定的子系统 mysql> select * from performance_schema.setup_instruments where documentation is not null limit 5,5\G; *************************** 1. row ***************************NAME:…...
全新UI基于Thinkphp的最新自助打印系统/云打印小程序源码/附教程
这是一款全新的基于Thinkphp的最新自助打印系统,最新UI界面设计的云打印小程序源码,带有简单的教程。 下载地址:https://bbs.csdn.net/topics/617324130...
Android 13.0 framework层系统手势增加上滑手势home事件功能(相当于Home键)
1.概述 在13.0的定制化开发系统手势功能的时候,客户需求要求在上滑手势的时候,在底部上滑时候进入系统桌面,也就是增加 home键功能,所以就需要分析相关的系统手势上滑事件,然后添加home事件这样 就可以实现这个功能了 2.framework层系统手势增加上滑手势home事件功能的核…...
AI智能体任务编排框架:从概念到实战的Mission Control指南
1. 项目概述:为AI智能体打造一个“任务控制中心”最近在折腾AI智能体(Agent)的开发,发现一个挺普遍的问题:当你想让多个智能体协同工作,或者想让单个智能体执行一系列复杂、有依赖关系的任务时,…...
【限时公开】后印象派专属--ar 16:9 --style raw --stylize 800参数组合包(含塞尚构图/修拉点彩/劳特累克动态线共12套已验证prompt模板)
更多请点击: https://intelliparadigm.com 第一章:后印象派艺术精神与Midjourney风格迁移的本质逻辑 后印象派并非对印象派的简单延续,而是对主观表达、结构重构与象征张力的自觉回归——梵高旋转的星云、塞尚凝练的几何体、高更原始的色域&…...
All in Token,百度李彦宏指出:Token经济,阿里,百度,腾讯,字节,移动,电信,联通,华为,开启新的Token战争
当AI作为生产力已经成为确定性命题,我们当下应该如何衡量一家AI企业的价值?是看大模型跑分刷榜的能力,还是用户每天消耗的token数量?5月13日的Create2026大会上,百度创始人李彦宏提出了一个全新标准——DAA,…...
开源银行API模拟器Bankr Buddy:金融科技开发的本地化测试解决方案
1. 项目概述:一个为开发者准备的银行API模拟器如果你正在开发一个需要与银行账户数据打交道的应用,无论是个人财务管理工具、预算分析软件,还是企业级的财务聚合服务,你肯定遇到过同一个难题:如何在不触碰真实用户敏感…...
CFD工程师必看:TVD格式选型指南——从SUPERBEE到UMIST,哪个才是你的菜?
CFD工程师必看:TVD格式选型实战指南——从工程场景到最优解 在计算流体力学(CFD)的世界里,TVD格式就像赛车手的轮胎选择——没有绝对的好坏,只有场景的适配。当你在汽车外气动分析中遇到激波振荡,或在燃烧模拟中面临虚假扩散时&am…...
CircuitPython与NeoPixel实战:从硬件连接到动态灯光效果
1. 项目概述:用Python点亮你的硬件创意如果你玩过Arduino,可能会觉得C/C的语法和库管理有点门槛;如果你熟悉Python,又觉得它和硬件之间隔着一层纱。那么,当Raspberry Pi Pico这块性价比极高的微控制器,遇上…...
ARM Debug Interface v5.1架构解析与调试实践
1. ARM Debug Interface v5.1架构深度解析1.1 调试接口技术演进与核心价值ARM调试接口(ADI)技术历经多次迭代,v5.1版本作为当前主流标准,在嵌入式系统调试领域确立了关键地位。调试接口本质上是处理器核与外部调试工具之间的标准化通信桥梁,其…...
Docker里CentOS镜像yum报错?别慌,教你两步搞定‘appstream’仓库元数据下载失败
Docker中CentOS镜像yum报错?三步根治‘appstream’仓库元数据下载失败 当你兴致勃勃地在Docker中启动一个CentOS容器准备大展拳脚时,突然遭遇Failed to download metadata for repo appstream的红色报错,这种挫败感我深有体会。不同于物理机或…...
基于LanceDB的AI记忆管理系统:从向量存储到智能记忆引擎
1. 项目概述:一个面向AI记忆管理的向量数据库解决方案最近在折腾AI应用,特别是那些需要长期记忆和上下文关联的智能体(Agent)时,我发现一个核心痛点:如何高效、低成本地存储和检索海量的对话历史、知识片段…...
Verilog时钟分频实战:从偶数、奇数到小数分频的设计与实现
1. 项目概述:从零开始掌握Verilog时钟分频 在数字电路和FPGA设计中,时钟信号是驱动整个系统同步运行的“心跳”。然而,一个系统往往需要多种不同频率的时钟来驱动不同的模块,比如高速的处理器核心和低速的外设接口。直接使用多个外…...
