使用 WSL 2 的 VS Code 中的 Jupyter Notebook 无法工作

问题描述 投票:0回答:4

我想在 WSL 2 中运行的 VS Code 中使用 Jupyter Notebook。常规 Python 在 WSL 中工作没有问题,这意味着基本 conda 环境已连接,我可以运行 .py 文件。此外,我可以运行命令

jupyter notebook
,它将在 WSL 中启动笔记本服务器,将本地主机暴露给 Windows 系统。

但是,我想在 VS Code 中测试新的 Jupyter Notebook 功能,这对我来说不起作用; VS Code 显示:

Jupyter Server: No Kernel
Python: Not Started
(参见下面的屏幕截图)。

我的测试机是:

  • Windows 20H1 (19041.21) 上的 WSL 2(使用 Pengwin 发行版)
  • VS Code 1.41(已安装 Python 扩展)
  • 蟒蛇

我做了什么:

  1. 打开WSL
  2. 在我的目标目录中打开 VS Code (
    code .
    )
  3. 从命令面板创建一个新的 Notebook 文件
    Python: Create New Blank Jupyter Notebook
  4. 创建虚拟对象
    print("test")
  5. 运行 Cell 将触发警告:

我有什么遗漏的吗?

python visual-studio-code jupyter-notebook windows-subsystem-for-linux pengwin
4个回答
5
投票

windows端和WSL端的VSCode扩展是相互独立的,需要在WSL端安装python扩展。

当您在 WSL 端运行 .py 文件时,VSCode 会提示您安装它们,但运行 .ipynb 则不会。这可能就是问题的根源。


3
投票

VS Code 内部人士 实际上可以在 Jupyter 笔记本上开箱即用。只需记住运行

code-insiders .
而不是
code .

另一种解决方案是,根据此网站,在 Windows 中启动 VS Code,然后使用 WSL 2 作为远程服务器。


1
投票

wsl2 上的代码安装需要重新启动才能正常工作,通知告诉我,在问题的评论中,您可能会看到人们遇到同样的问题(“它现在正在工作。不确定为什么”)。因此,在寻找任何复杂的解决方案之前,只需重新启动代码即可。


0
投票

所以我很挣扎并找到了以下解决方案: 如果您使用的是Python3.11,那么使用以下命令:

python3.11 -m pip install --upgrade psutil
python3.11 -m pip install ipykernel
python3.11 -m ipykernel install --user --name=python3.11

我在使用 Python3.10、Python3.9 时也遇到了问题,我只是用它们全部运行这些命令。

现在我可以在 VS-code 中使用 jupyter Notebook,尤其是在 WSL 中。

© www.soinside.com 2019 - 2024. All rights reserved.