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博客

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值