深夜迅更:
最近在学习人工智能,因为使用pycharm每次运行脚本都需要加载torch库太慢,因此想转jupyter进行学习记录。
习惯了pycharm的代码提示,在jupyter自然不能落下,因此马上找到了jupyter-lsp来实现此效果。但没想到配置过程坑多,并不顺利,一些其他博客也没对细节展开介绍(可能版本久远有些差异),本博客使用的 jupyter版本4.0.10
1、conda环境搭建:
推荐在conda的base环境安装(方便启动,调用其他环境等)
python版本 > 3.8,详情见 jupyter-lsp git仓库文档
然后使用如下命令安装jupyterlab + 对应的lsp 代码提词器
conda install -c conda-forge "jupyterlab>=4.0.0,<5.0.0a0" jupyterlab-lsp
# or
pip install "jupyterlab>=4.0.0,<5.0.0a0" jupyterlab-lsp
同时需要安装server
pip install "python-lsp-server[all]"
2、Jupyter-Kernel添加:
终端使用 jupyter lab 启动(如果是notebook则是 jupyter notebook 启动)
因为我们使用conda,需要将conda环境作为kernel(内核)添加给jupyter
内核也可以理解为python虚拟环境。
比如现在我们有 base 、 ann 两个环境,要把他们添加进 jupyter-kernel
# 启动base 环境,并安装ipykernel库 (jupyter环境调用的接口库)
conda activate base
pip install ipykernel
# 将base环境注册到jupyter-kernel,命名base
python -m ipykernel install --user --name=base
# 启动ann环境,并安装ipykernel库 (jupyter环境调用的接口库)
conda activate ann
pip install ipykernel
# 将ann环境注册到jupyter-kernel,命名ANN (可以与环境名称不同)
python -m ipykernel install --user --name=ANN
这样就完成了conda虚拟环境的注册,jupyter里也可以使用conda环境啦。
注意必须在需要注册的虚拟环境下完成 ipykernel安装+当前环境注册的步骤
3、配置代码提示补全:
常见的配置博客诸如:
jupyter lab 代码提示/代码补全插件:jupyter lsp 配置教程 + 开启 Hinterland mode_jupyterlab-lsp-CSDN博客
上述博客年头久远,仅完成这样的配置是不行的。
注意:完成1、conda环境配置 后基本上也不需要跟着这篇博客来了,我们都做过了,只需要在jupyter的插件里点击“yes”开启插件,并完成lsp提词器的build即可;
其欠缺的步骤在如下issue被找到:
Continuous hinting doesn't work · Issue #1011 · jupyter-lsp/jupyterlab-lsp (github.com)
博客里包含了这一步,我们也需要做一下,勾选允许连续补全题词:
主要的缺失步骤见下图:
记得把蓝色划线的 "Enable autocompletion" 勾选打开!否则提词无效!
推荐左上角搜索框搜索 completion
可以看到他们两个的icon图标是不一样的——不是一个东西
一个是菜单:允许连续提词
一个是螺钉:允许自动补全(下图)
这样就完成啦!
感悟
真是有的细节知道了就几分钟的事情,不知道就查几个小时!太难受了!故深夜速记博客一篇!以防今后忘记。