`ast.parse` with lower `feature_version` is still allowed to parse `lazy import os`
未关闭
@sobolevn 已经在做这个了。
开始于 2026年6月29日。
interpreter-core
topic-lazy-imports
topic-parser
type-bug
- 主要语言
- Python
- 星标
- 77.2k
- 派生
- 35.9k
- PR 合并指标
- PR 指标待抓取
描述
Bug report
Code:
>>> import ast
>>> ast.parse('lazy import os', feature_version=(3, 12))
Works and parses lazy import on older python versions :(
It should produce something like:
>>> import ast
>>> ast.parse('lazy import os', feature_version=(3, 12))
Traceback (most recent call last):
File "<python-input-1>", line 1, in <module>
ast.parse('lazy import os', feature_version=(3, 12))
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sobolev/Desktop/cpython/Lib/ast.py", line 46, in parse
return compile(source, filename, mode, flags,
_feature_version=feature_version, optimize=optimize,
module=module)
File "<unknown>", line 1
lazy import os
^
SyntaxError: Lazy imports are only supported in Python 3.15 and greater
I have a PR ready.
Linked PRs
- gh-152632
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
评估
这个 Issue 还没有评估数据。