VSCode版
建议在 VSCode 中使用 Jupyter。
VSCode 版本的好处是可以使用 VSCode 中丰富的插件,比如查看变量表和值、代码分屏(以上两个是网页版的硬伤)、自动补全、快速跳转、代码纠错、显示函数参数文档、自定义主题、交互式的 Git 版本管理等(如 PyLance、GitHub Copilot、GitHub Theme)
1、在本地安装 VSCode,并安装 RemoteSSH 插件。具体过程可见官方教程。
2、设置 SSH 免密码登录后,将本地的 SSH 配置文件增加以下内容。
本地的 SSH 配置文件的位置通常为(可用 VSCode 或记事本打开编辑):
添加以下内容使得 SSH 登陆时调用本地私钥,从而不必手动输入密码。
3、VSCode 中登录服务器后,在 VSCode 的资源管理器中添加项目文件夹,点击其中的 ipynb
文件即可打开 Jupyter Lab。
4、将 Jupyter Lab 设置为固定 Token 登录。
启动 Jupyter Lab,复制包含 Token 的 URI http://localhost:22222/lab?token=foobar
(注意,在 SSH 终端中显示应为 http://localhost:22222/lab?token=...
,需要自己将设置好的 Token 填写到 URI 中)
将该 URI 输入给 VSCode 右下角的“Jupyter Server”,即可免于每次登录输入 Jupyter Lab 的密码。
为何服务器 Conda 环境已配置,运行代码时却提示缺少某些组件?
原因
可能是因为你未选择服务器端的 Kernel,因此 VSCode 默认使用了你本地的 Jupyter Kernel。
解决方法
在 VSCode 右上角的内核设定中,选择服务器端的 IPython 内核。主要可以通过 Kernel 的路径、Remote 字样或 Conda 环境名称来确定是否为服务器上的内核。
5、VSCode 中 Jupyter Lab 的使用方法可以参考官方教程
VSCode 版的内核管理
目前,VSCode 版尚不支持像网页版一样关闭内核。因此,建议你定期有意识的去清理内核,否则可能会有过多的内核堆在后台。
最简单的方法是定期重新启动 Jupyter Lab。另一个方法则是打开网页版,在网页版中清理完内核再回到 VSCode 版工作。
P.S.:如果是我负责维护的那些服务器,会有脚本自动检测并提示你关闭占用内存或缓存过高的进程。
VSCode 版如何在单元格内查找和替换
在 VSCode 版 Jupyter 中无法使用网页版的 Ctrl+Shift+R
来实现单元格内的查找替换,取而代之的是 F3
键。
如果需要对全笔记本进行查找和替换,正常使用 Ctrl+F
和 Ctrl+H
即可。