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卸载内核-优快云博客

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

### 解决Jupyter Notebook内核未到或缺失问题 当面对Jupyter Notebook无法识别特定编程语言内核的情况时,通常是因为该内核尚未被正确安装或是环境变量配置不当所致。针对此情况有几种常见处理方式。 #### 检查已安装的内核列表 可以利用命令行工具来查看当前环境中已经成功注册给Jupyter的所有可用内核名称以及路径信息: ```bash jupyter kernelspec list ``` 这条指令能够帮助确认目标内核确实存在于系统之中并获得其具体位置[^1]。 #### 安装缺少的语言内核 如果发现所需的Python或其他语言版本对应的内核不在上述列出的结果里,则需按照官方文档指导完成相应软件的下载与部署工作。例如,在`python3.7`环境下为Matlab添加支持就需要执行如下pip操作: ```bash pip install matlab_kernel --user ``` 之后可能还需要编辑某些初始化脚本文件以确保一切正常运作,像这样修改`__init__.py`: ```bash vim /opt/anaconda3/lib/python3.7/site-packages/matlab/engine/__init__.py ``` 这一步骤是为了让新加入的组件能更好地融入现有框架结构当中去[^2]。 #### 更新Jupyter核心库至最新版 有时候旧版本可能存在兼容性缺陷从而阻碍了新的扩展功能正常使用;通过升级到最新的稳定发行版往往可以有效规避这些问题的发生概率: ```bash pip install --upgrade jupyter_core ``` 此外,保持整个Anaconda平台处于良好维护状态也是十分必要的举措之一[^3]。 #### 验证更改后的效果 最后重启服务端程序使之前所做的调整生效,并尝试重新加载页面验证是否解决了最初告的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值