当前位置: 首页 > news >正文

jupyter 安装新内核后报找不到已安装的包

按照参考资料1 在jupyter notebook 安装上新内核后,发现在命令行里可以导入已安装的包,但在jupyter notebook 无法导入对应的包

通过调试,发现jupyter 安装新内核的python 环境的执行文件不是新内核的python执行文件,而是conda 里base 环境的pthon执行文件,所以虽然安装了新内核,但执行文件没有更改,所以也没有生效

环境如下

IPython          : 8.15.0
ipykernel        : 6.25.0
ipywidgets       : 8.0.4
jupyter_client   : 7.4.9
jupyter_core     : 5.3.0
jupyter_server   : 1.23.4
jupyterlab       : 3.6.3
nbclient         : 0.5.13
nbconvert        : 6.5.4
nbformat         : 5.9.2
notebook         : 6.5.4
qtconsole        : 5.4.2
traitlets        : 5.7.1


conda 23.7.4,python 3.11版本,jupyter notebook 版本6.5.4,ubuntu 20.04 环境, 通过jupyter kernelspec list 命令查看安装新内核的位置,如我的环境的输出为

  torch      /home/xxx/.local/share/jupyter/kernels/torch
  python3    /home/xxx/anaconda3/share/jupyter/kernels/python3

其中python3 为默认jupyter 内核,torch 为新安装的内核,进入torch 的安装目录,里面会有如下一个文件

-rw-rw-r-- 1 xxx xxx  205 9月   2 11:20 kernel.json

vim 打开这个文件

打开jupyter 的配置文件

{
 "argv": [
  "/home/xxx/anaconda3/bin/python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "torch",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}

可以看到argv的环境里配置的python 执行文件为conda 的默认python 执行,把它修改为torch 的执行文件/home/xxx/anaconda3/envs/torch/bin/python,保存,重启jupyter notebook 即可,发现环境已修改为torch 的环境

由于新的内核可能没有安装ipykernel 导致报错 No module named ipykernel_launcher
[I 11:47:30.084 NotebookApp] KernelRestarter: restarting kernel (1/5), new random ports,这时只要在新的内核下安装ipykernel 即可

pip install ipykernel

在windows 系统下,也是一样

这个错误产生的原因是安装内核时没有在对应的conda 虚拟环境下,是在base 环境下操作的,所以默认python 执行的文件是base的执行文件,更详细的操作请参考资料2

参考资料

1 jupyter notebook添加、删除内核_jupyter卸载内核-CSDN博客

2Python虚拟环境轻松配置:Jupyter Notebook中的内核管理指南_jupyter python 内核 位置 要求-CSDN博客

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java | Leetcode Java题解之第392题判断子序列
  • 【Python123题库】#通讯录(文件读取) #利用数据文件统计成绩
  • 《深度学习》OpenCV轮廓检测 轮廓近似、模板匹配 解析及实现
  • STM32常用C语言知识总结
  • ubuntu搜狗输入法取消切换繁体
  • HTTPS 协议“加密和解密”详细介绍
  • 论文精读:Dirac半金属反常能斯特效应设计
  • 【maxcompute|ODPS|SQL|HSQL】日期数据非标准日期格式(yyyy/M/d),如何转为yyyy-MM-dd HH:mm:ss标准格式
  • 基于约束大于规范的想法,封装缓存组件
  • sqlite3的db.interrupt方法深入解析
  • 台球助教APP小程序的前端交互设计
  • error:0308010C:digital envelope routines::unsupported【超详细图解】
  • 【C# ASP.NET Vue】没想到吧!怀旧小筑客栈管理系统可以这样高效,集成MySQL数据库,一键管理客房,预订不再是难题
  • 9月3日复盘日记
  • OpenCV绘图函数(12)绘制直线函数 line()的使用
  • android图片蒙层
  • axios 和 cookie 的那些事
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Git 使用集
  • GraphQL学习过程应该是这样的
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java 网络编程(2):UDP 的使用
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Js基础知识(一) - 变量
  • Nacos系列:Nacos的Java SDK使用
  • ReactNativeweexDeviceOne对比
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 计算机在识别图像时“看到”了什么?
  • 入门级的git使用指北
  • 事件委托的小应用
  • 在weex里面使用chart图表
  • Linux权限管理(week1_day5)--技术流ken
  • #Java第九次作业--输入输出流和文件操作
  • #java学习笔记(面向对象)----(未完结)
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (C语言)字符分类函数
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (转)JAVA中的堆栈
  • (转)Linux下编译安装log4cxx
  • (转)项目管理杂谈-我所期望的新人
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • .NET BackgroundWorker
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net core 外观者设计模式 实现,多种支付选择
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .net mvc 获取url中controller和action
  • .net 微服务 服务保护 自动重试 Polly