PaddlePaddle / PaddlePaddle/PaConvert
【依赖】astor报错:AttributeError: No defined handler for node of type Match
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 122
- Forks
- 98
- PR merge metrics
- No merged PRs in 30d
Description
在特定代码转换时,由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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with prose_fd/models/transformer.py and reproduce the failure through astor when processing a Match node. Compare the conversion path with the upstream astor issue #234, then determine the project-local fix or dependency decision. Done means the reported transformation no longer raises the AttributeError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100