此文假设你:
已在WIN10上安装conda、在主环境安装jupyter;
已创建虚拟环境;
已完成虚拟环境内核与主环境jupyter之间的连接配置;
已安装好VSCODE(此处为v1.69)及其python(此处为v2022.12.0)、jupyter插件(此处为v2022.6.1201981810)。
如没完成,请先进行以上准备。
打开一个.py文件,python插件被激活,激活后的编辑界面如图1,右下角显示当前的(虚拟)环境及其解析器,点击可在顶部下拉菜单选择其他(虚拟)环境及其解析器。
默认终端类型可通过下拉尖头,选择“Select Default Profile”命令,对终端类型进行更改,如图2 。
通过+号,或者RUN、DEBUG等操作新建一个终端时,VSCODE就会选用默认终端来打开一个终端。而终端新建后也会激活<1>中预设好的(虚拟)环境,如图3。
有两种运行方式,
一种是在编辑区右击鼠标,弹出以下菜单,里面有6种运行方式供选择,如图4。
一种是选定代码,然后按ctrl+shift+p,选择 Terminal: Run Selected Text In Active Terminal 命令,然后选定的代码会在当前激活的终端上运行,如图5。注意终端要先进入python,否则会报错.
连接jupyter方式选择:
打开notebook文件*.ipynb,jupyter插件加载完成后,可点击切换连接jupyter方式,如图6。None代表Local,Exisiting代表Remote,其中remote模式需要输入jupyter sever的URI,URI获取方法参考:查看已启动的jupyter server地址_ElienC的博客-CSDN博客_jupyter 服务器地址。
Local模式下,切换内核的方法和选项如图7,在一个打开的notebook文件中,每种内核似乎只能运行一个实例,而且切换到另一个内核时,会关闭掉当前内核的实例。当前被选中的内核,会被标注“currently selected”。
内核选择列表把内核分成两种来源:一种是对应于jupyter kernelspec list命令列出的路径中的内核配置文件显示已有内核的名称,列表中归类为“jupyter kernel”;另一种是在conda安装目录下搜索到的conda的根环境和虚拟环境,列表中归类为“conda env”。若无法理解jupyter kernel配置相关概念,请参考这篇文章:命令行进行jupyter kernel创建、查看、删除_ElienC的博客-CSDN博客。
在Remote模式下打开内核切换列表,可以选择(Retome) Jupyter Kernel里的内核并建立一个会话,也可以直接连接(Remote) Jupyter Session里已经建立的会话,如图8。Remote模式下,一个内核可以建立多个会话。
在远程Notebook网页的running选项卡可以查看Currently running Jupyter processes,可以发现,这些processes与VSCode Jupyter中显示的已建立的会话是一致的,如图9。
但让我费解的是,既然已经切换到remote模式,为什么还要在下拉列表里给出local模式的kernel,如图10,这不添乱吗?