在 Jupyter 笔记本中使用魔法命令时的 VS Code 问题:“预期表达式 Pylance”

ale*_*17k 5 python numpy visual-studio-code jupyter-notebook pylance

我正在尝试使用 Python 和 NumPy 的方法来比较它们的性能:

\n
import numpy as np\n\nmassive_array = np.random.random(100000)\n\n%timeit sum(massive_array) # Python\'s sum()\n%timeit np.sum(massive_array) # NumPy\'s np.sum()\n
Run Code Online (Sandbox Code Playgroud)\n

它工作正常并返回以下内容:

\n
9.56 ms \xc2\xb1 523 \xc2\xb5s per loop (mean \xc2\xb1 std. dev. of 7 runs, 100 loops each)\n51.9 \xc2\xb5s \xc2\xb1 1.59 \xc2\xb5s per loop (mean \xc2\xb1 std. dev. of 7 runs, 10,000 loops each)\n
Run Code Online (Sandbox Code Playgroud)\n

唯一的问题是,在 vscode 上使用笔记本时,我收到一个Pylance关于百分比符号标记的错误%timeit

\n

在此输入图像描述

\n

被标记的原因是什么?鉴于它也成功执行,这不应该是一个有效的表达式吗?

\n

sta*_*all 1

在阅读了一些 GitHub 问题标记后,如果我理解正确的话,这在 VS Code 的 Jupyter 和 Python 扩展的新版本中不再是问题。

请参阅 笔记本内部,魔术单元不应导致 pylance #17058(在microsoft/vscode-python)中出现错误,该错误已通过以下两个拉取请求修复:

现在让我困惑的是为什么这个问题发生在你身上,因为你是在 2022 年 3 月 20 日提出这个问题的,而这些更改是在 2021 年 8 月 20 日左右进行的。

注意:从屏幕截图来看,它看起来并不像,但如果您实际上使用的是单元脚本(带有#%%标记的 .py 文件)而不是 Jupyter 笔记本,则编辑您的用户或工作区的 settings.json 文件来设置"jupyter.magicCommandsAsComments": true,它允许您在注释中使用魔术命令(请参阅#3263#6494)。

为了您的学习目的/参考,我通过谷歌搜索“ github vscode jupyter issues syntax error problem for ipython magic”并浏览顶部搜索结果和链接的 GitHub 问题票证找到了此信息。