Skip to content

【依赖】astor报错:AttributeError: No defined handler for node of type Match #870

@lkyu-ly

Description

@lkyu-ly

在特定代码转换时,由astor依赖报如下错误:
https://github.com/felix-lyx/prose/blob/main/prose_fd/models/transformer.py

  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 63, in to_source
    generator.visit(node)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/node_util.py", line 143, in visit
    return visitor(node)
           ^^^^^^^^^^^^^
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 878, in visit_Module
    self.write(*node.body)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 178, in write
    visit(item)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/node_util.py", line 143, in visit
    return visitor(node)
           ^^^^^^^^^^^^^
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 364, in visit_ClassDef
    self.body(node.body)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 226, in body
    self.write(*statements)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 178, in write
    visit(item)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/node_util.py", line 143, in visit
    return visitor(node)
           ^^^^^^^^^^^^^
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 335, in visit_FunctionDef
    self.body(node.body)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 226, in body
    self.write(*statements)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 178, in write
    visit(item)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/node_util.py", line 143, in visit
    return visitor(node)
           ^^^^^^^^^^^^^
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 378, in visit_If
    self.body(node.body)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 226, in body
    self.write(*statements)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/code_gen.py", line 178, in write
    visit(item)
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/node_util.py", line 143, in visit
    return visitor(node)
           ^^^^^^^^^^^^^
  File "/home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages/astor/node_util.py", line 137, in abort_visit
    raise AttributeError(msg % node.__class__.__name__)
AttributeError: No defined handler for node of type Match

依赖版本:

pip show astor                                                      
Name: astor
Version: 0.8.1
Summary: Read/rewrite/write Python ASTs
Home-page: https://github.com/berkerpeksag/astor
Author: Patrick Maupin
Author-email: pmaupin@gmail.com
License: BSD-3-Clause
Location: /home/lkyu/miniconda3/envs/py312_torch291_cu128/lib/python3.12/site-packages
Requires: 
Required-by: depyf, paconvert

已反馈到berkerpeksag/astor#234

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions