Skip to content

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

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions