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事件功能的核…...
从农田到实验室:大疆P4M多光谱数据与ASD地物波谱仪实测数据对比实操指南
从农田到实验室:大疆P4M多光谱数据与ASD地物波谱仪实测数据对比实操指南 当无人机掠过农田上空,搭载的多光谱传感器正在以厘米级分辨率记录作物的生理状态。这些数据能否真实反映地表反射特性?本文将以大疆P4M多光谱无人机与ASD FieldSpec系…...
等保三级Java安全改造全周期实录,从代码审计到渗透验证的12个生死关卡
第一章:等保三级Java安全改造的合规基线与生命周期全景图等保三级对Java应用提出了覆盖身份鉴别、访问控制、安全审计、通信保密性、代码安全及可信执行环境的全维度要求。其合规基线并非静态清单,而是贯穿需求分析、设计开发、测试验证、上线部署与持续…...
嵌入式 - shell 常用语法简单总结
初步使用#!bin/bashecho "Hello world!"echo# shellvim helloworld.shchmod ux helloworld.sh# 在当前bash运行. helloworld.shsource helloworld.sh# 在子bash中运行,无法修改当前shell的变量./helloworld.shLinux中工具链的配置 ~/.bashrc用于定义当前…...
YOLOv8模型在RKNN平台上的实战部署指南(附完整代码)
YOLOv8模型在RKNN平台上的实战部署指南(附完整代码) 在嵌入式设备上部署高性能目标检测模型一直是计算机视觉领域的难点。瑞芯微(Rockchip)推出的RKNN推理框架为这一挑战提供了解决方案,尤其适合需要低功耗、高效率的边…...
用STM32F103的TIM3实现旋转编码器方向判断:AB相相位差处理的5个关键细节
STM32F103旋转编码器方向判断实战:TIM3相位差处理的5个核心技巧 旋转编码器作为工业控制和人机交互中广泛使用的传感器,其方向判断的准确性直接影响系统控制的可靠性。本文将深入探讨基于STM32F103的TIM3定时器实现旋转编码器方向判断的关键技术细节&…...
终极指南:NanoVG渲染管线深度解析与抗锯齿技术实战
终极指南:NanoVG渲染管线深度解析与抗锯齿技术实战 【免费下载链接】nanovg Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. 项目地址: https://gitcode.com/gh_mirrors/na/nanovg NanoVG是一款基于OpenGL的轻量级抗锯…...
告别手写CRUD:用IDEA插件实现数据库到Java代码的智能生成
1. 为什么我们需要告别手写CRUD? 作为一名有多年开发经验的程序员,我深知手写CRUD代码的痛苦。每次新建一个表,就要重复编写几乎相同的实体类、Mapper接口和XML文件。这种重复劳动不仅枯燥乏味,还容易出错。记得有一次我因为手误把…...
MCP只是过渡,CLI才是AI的原生界面——从飞书、钉钉集体CLI化说起
文章目录一、从"养龙虾"说起:一场返祖式的革命二、MCP:伟大的"USB-C",但依然是个翻译器三、CLI:AI的母语,不需要翻译四、MCPCLI:过渡方案与终极形态的共生五、对开发者的冷思考&#x…...
从T检验到回归:用SPSS搞定你的毕业论文数据分析(保姆级步骤+结果解读)
从T检验到回归:用SPSS搞定你的毕业论文数据分析(保姆级步骤结果解读) 当你面对堆积如山的问卷数据或实验记录时,是否曾感到无从下手?作为人文社科、经管或心理学领域的研究者,掌握SPSS这一统计利器至关重要…...
基于LSTM与SmolVLA的时序多模态数据分析
基于LSTM与SmolVLA的时序多模态数据分析 想象一下,你面前有一段监控视频,画面里有人正在行走、停留、再行走。如果只看其中一帧,你只能知道“这里有个人”;但如果把连续几帧连起来看,你就能判断出“这个人正在从A点走…...
