numpy 在Jupyter笔记本中使用magic命令时出现VS代码问题:“需要表达式Pylance”

kgsdhlau  于 2023-03-02  发布在  其他
关注(0)|答案(1)|浏览(461)

我正在研究Python和NumPy的方法,以比较它们的性能:

import numpy as np

massive_array = np.random.random(100000)

%timeit sum(massive_array) # Python's sum()
%timeit np.sum(massive_array) # NumPy's np.sum()

该函数运行良好,并返回以下内容:

9.56 ms ± 523 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
51.9 µs ± 1.59 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

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

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

des4xlb0

des4xlb01#

在阅读了一些GitHub问题之后,如果我理解正确的话,这在Jupyter和Python的VS代码扩展的新版本中应该不再是一个问题。
参见Inside of a notebook, magic cells should not cause an error in 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问题票证找到了此信息。

相关问题