当前位置: 首页 > 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博客


http://www.mrgr.cn/news/18764.html

相关文章:

  • Web Worker
  • 中国农村政策与改革统计年报(2015-2022年)
  • 数据安全认证来了解一下
  • C# SM2 SM3 SM4 使用
  • 模拟算法专题——算法介绍算法讲解力扣实战应用
  • 代码随想录算法day28 | 动态规划算法part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、 746. 使用最小花费爬楼梯
  • 【Tensor】(基础篇一) —— 安装TensorFlow和介绍Tensor
  • 【qt小系统】qt对sqlite数据库文件设置访问密码并以绑定QT表格视图的形式实现与数据库交互
  • 代码随想录算法训练营_day35
  • 【高阶数据结构】二叉树的创建、存储方式(顺序与链式)、遍历方法(递归与非递归)(精美图解+完整代码)
  • 公司分家了, 代码怎么分啊?
  • 【Qt笔记】QUndoView控件详解
  • 多账户在亚马逊电商和 Dropshipping 中的优势!
  • 搞定——pip 升级失败!pip._vendor.urllib3.exceptions.ReadTimeoutError 这个闹心的问题
  • 缓存类型以及读写策略
  • OpenAI API: Can I remove the line break from the response with a parameter?
  • js之深度理解扩展运算符(Spread Operator)
  • RAG项目实战
  • 算法笔试-编程练习-M-01-24
  • idea2023.3安装不上通义灵码(插件无法下载)解决方法(非常简单)