VSCode中Jupyter Notebook使用%%timeit报错`not found是什么原因
问题原因分析
出现not found报错是因为%%timeit是IPython专属的魔法命令,并非Python原生语法,触发报错的常见原因如下:
- 单元格魔法命令位置错误:
%%开头的单元格魔法命令必须放在当前单元格的第一行,如果前面有空行、注释、导入语句或其他代码,命令会被识别为无效内容触发报错 - 内核未正确加载IPython组件:Python 3.6对应的IPython版本过旧,或者当前VSCode选中的Jupyter内核没有正确关联IPython库,会导致魔法命令无法被识别
- 运行模式错误:如果在普通Python脚本运行模式下执行魔法命令,而非Jupyter交互单元格模式,原生Python解释器不支持该语法,也会抛出报错
解决方法
- 优先检查
%%timeit的位置,确保它位于单元格最顶部,无任何前置内容;如果仅需测试单行代码的运行速度,可以改用行魔法命令%timeit放在对应代码行开头,无需满足第一行的要求 - 测试内核是否支持魔法命令:在空白单元格执行
%lsmagic,如果依旧报错,说明IPython安装异常,执行pip install ipython==7.16.3安装适配Python 3.6的最高IPython版本即可 - 确认当前运行的是Jupyter交互单元格,而非普通Python脚本的运行入口
内容的提问来源于stack exchange,提问作者Luca Guarro
相关产品推荐
相关产品推荐

