You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Thonny中启用py5-mode运行代码时出现ImportError报错求助

Thonny中py5-mode运行报错的解决办法

问题描述

在Thonny编辑器启用py5-mode运行代码时,触发导入错误,核心报错信息为:

ImportError: cannot import name 'ASTText' from 'asttokens' (C:\Users\schwe\AppData\Local\Programs\Thonny\lib\site-packages\asttokens\__init__.py)

完整报错栈:

Traceback (most recent call last):
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\py5_tools\tools\run_sketch.py", line 52, in <module>
    main()
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\py5_tools\tools\run_sketch.py", line 44, in main
    imported.run_code(
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\py5_tools\imported.py", line 135, in run_code
    _run_code(
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\py5_tools\imported.py", line 259, in _run_code
    _run_sketch(sketch_path, classpath, exit_if_error)
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\py5_tools\imported.py", line 196, in _run_sketch
    import py5
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\py5\__init__.py", line 84, in <module>
    from py5_tools.magics import load_ipython_extension  # noqa
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\py5_tools\magics\__init__.py", line 22, in <module>
    from .drawing import DrawingMagics, DXFDrawingMagic
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\py5_tools\magics\drawing.py", line 27, in <module>
    from IPython.display import display, SVG, Image
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\IPython\__init__.py", line 51, in <module>
    from .core.application import Application
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\IPython\core\application.py", line 26, in <module>
    from IPython.core import release, crashhandler
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\IPython\core\crashhandler.py", line 27, in <module>
    from IPython.core import ultratb
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\IPython\core\ultratb.py", line 101, in <module>
    import stack_data
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\stack_data\__init__.py", line 1, in <module>
    from .core import Source, FrameInfo, markers_from_ranges, Options, LINE_GAP, Line, Variable, RangeInLine, \
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\stack_data\core.py", line 19, in <module>
    from stack_data.utils import (
  File "C:\Users\schwe\AppData\Roaming\Thonny\plugins\Python310\site-packages\stack_data\utils.py", line 11, in <module>
    from asttokens import ASTText
ImportError: cannot import name 'ASTText' from 'asttokens' (C:\Users\schwe\AppData\Local\Programs\Thonny\lib\site-packages\asttokens\__init__.py)

报错原因

Thonny自带的asttokens库版本过低,而py5依赖的IPython组件需要调用新版本asttokens中的ASTText类,旧版本无该类定义,导致导入失败。

解决步骤

  • 打开Thonny的工具菜单,选择打开系统shell
  • 在shell中执行升级命令:
    pip install --upgrade asttokens
    
  • 若上述命令无效,指定Thonny自带的Python解释器路径执行升级:
    "C:\Users\schwe\AppData\Local\Programs\Thonny\python.exe" -m pip install --upgrade asttokens
    
  • 重启Thonny后,再次尝试运行py5代码

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:30:57