在 Jupyter 笔记本中添加或删除单元格时,VS Code 中的 Pylance 崩溃

Pri*_*ser 6 python visual-studio-code jupyter-notebook pylance

我在使用 Python 笔记本时遇到了 VS Code 中 Pylance 扩展的问题。有时,如果我添加或删除单元格,语言服务器会崩溃并抛出以下错误:

Error: Debug Failure. False expression: Chained file path undefined doesn't match cellFilePaths [REDACTED PATH].ipynb:pylance-notebook-cell:W5sZmlsZQ==.py
    at _0x225e6a ([REDACTED PATH]\server.bundle.js:1:1015920)
    at [REDACTED PATH]\server.bundle.js:1:1023143
    at _0x32da0b.<computed> ([REDACTED PATH]\server.bundle.js:1:1023175)
    at _0x382c6c._onDidChangeNotebookDocumentAsync ([REDACTED PATH]\server.bundle.js:1:1001957)
Run Code Online (Sandbox Code Playgroud)

这是我的设置:

  • VS 代码版本:2023 年 6 月(版本 1.80)
  • Pylance 扩展版本:2023.8.21
  • 操作系统:Windows 10 和 Linux

重现步骤:

  • 在 VS Code 中打开 Jupyter 笔记本。
  • 添加或删除单元格。
  • Pylance 语言服务器因上述错误而崩溃。

以前有人遇到过这个问题吗?任何指导或解决方案将不胜感激。

先感谢您!

我已经尝试了几个故障排除步骤:

  • 重新安装了 VS 代码。
  • 重新安装了 Pylance 扩展。
  • 将 VS Code 和 Pylance 更新到最新版本。

尽管做出了这些努力,问题仍然存在。

我的主要目标是让 Pylance 在 VS Code 的 Jupyter 笔记本中顺利运行。如果有人遇到并解决了这个问题,或者有任何建议,我将非常感激。

sta*_*all 2

这似乎是此已知问题的一个实例:Pylance 在 Jupyter Notebook Cell Deletion #4685 上崩溃。已知 Pylance 扩展 v2023.8.10 存在此问题。相关的还有microsoft/pylance-release#5071

该问题显然已在预发布版本 2023.8.51中得到修复。尝试安装该版本(如果它仍处于预发布版本,请切换到预发布通道)。


较旧的信息:

显然,对于许多(但不是全部)用户来说,该问题在 Pylance v2023.7.40 中不会重现,因此降级可能是目前的一个可能的解决方法。您可能需要也可能不需要进一步降级才能获得修复。另请参阅VS Code - 如何回滚扩展/安装特定扩展版本

根据维护者的说法,一些问题案例将通过拉取请求 #4733修复,该请求将在即将发布的 Pylance 扩展预发布版本中发布,因此请尝试该版本。

您还可以尝试使用此设置"python.analysis.enableSyncServer": true来查看是否有任何区别 - 它强制扩展一次处理一条 LSP 消息(您需要重新启动 VS Code 一次才能使该设置生效)。如果您可以确定可靠地重现问题的过程,那么对于解决过程中此扩展的维护者来说将非常有用。

如果这些都不起作用,一位用户发现他们暂时可以解决该问题,即使用Developer: Reload Window命令选项板中的命令重新加载 VS Code 窗口(请注意,这可能需要重新运行单元格)。

为了供大家参考和学习,我通过谷歌“ ”找到了上述问题单github vscode issues jupyter crash "Chained file path undefined doesn't match cellFilePaths"