在远程 VSCode 笔记本中设置 Jupyter 内核

11
我正在尝试在VSCode的虚拟环境中运行一些笔记本。我像往常一样通过"python3 -m venv "安装了"venv",激活并安装了所有需要的模块。当我运行"which ipython"时,我得到了来自"venv"的ipython,因此我通过"ipython kernel install --name "" --user"安装内核,并在"~/.local/share/jupyter/kernels/"目录下成功创建了它,而且"kernel.json"指向了"venv"的python。然后我打开VSCode并同时选择“Python: Select Interpreter”和“Jupyter: Select Interpreter to start Jupyter server”以将其指向虚拟环境的python, 类似于"...//bin/python3"。
但是,当我尝试运行单元格时,它要求我选择内核(我也可以在VSCode右上角自己选择),但是我的新创建的内核不在那里。只有两个(相同的)来自"usr/bin/python"的内核。
这真的很奇怪,因为两天内两次,我的内核神奇地出现在一个笔记本中,并按预期工作,但是当我打开一个新的笔记本时,我的内核再次消失了。我尝试删除/重新安装内核、venv、VSCode的Python和Jupyter扩展程序,但都没有帮助。有什么建议吗?
目前,我通过"jupyter notebook --no-browser --ip="在远程命令行中启动内核,然后将连接链接插入到VSCode状态栏右下角的"Jupyter Server"中。但我想知道是否有更简单的方法,因为所有的东西(除了VSCode)都在远程机器上?
2个回答

1

这并不是回答同一个问题。Python解释器适用于整个工作区,而内核只适用于单个笔记本。如果在同一个工作区的不同笔记本中有不同的环境/内核,你的建议将无法实现。例如,如果你有多个使用相同辅助库的实验,并且每个实验都需要特定版本的库,那么就会出现这种情况。 - Jake Stevens-Haas

0
使用pip安装jupyter并为您的虚拟环境创建一个ipykernel,这样Jupyter VSCode扩展程序就可以在“Notebook: Select Notebook Kernel”下拉菜单中看到该环境。您可能需要重新启动VSCode(或只需重新启动扩展程序)。
根据Jupyter VSCode扩展文档的说明:
一个Visual Studio Code扩展程序...允许任何Python环境用作Jupyter内核。这不是一个Jupyter内核--您必须有一个已安装了Jupyter包的Python环境。
我还尝试在SSH服务器上创建内核,但Jupter扩展程序仍然没有将其作为“Notebook: Select Notebook Kernel”的选项之一,直到我使用pip安装了jupyter并重新启动了VSCode。 系统信息:VSCode 1.79.2适用于Linux x64,连接到一个ubuntu SSH服务器。Jupyter VSCode扩展程序版本为v2023.5.1101742258。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接