👋 您好,感谢向 ascend-deployer 提交 Issue!
🎉 我们已收到您的反馈,感谢你对开源社区的支持!
📅 处理时效 维护团队将在工作日 24 小时内查看并回复您的问题。
🔍 自助排查(推荐优先查看) 在等待回复期间,您可以先查阅仓库README以及历史 Issue 中相似问题的解决方案,多数问题可快速解决。
💡 为了更快定位问题,请您确保 Issue 包含:
- 清晰的问题描述
- 可复现的操作步骤
- 相关日志、截图或环境信息
我们会尽快跟进,感谢您的理解与配合!


/label add triaged


按父任务 #126 的检视要求,补充本 Issue 的设计文档与自验证报告。以下材料只覆盖本 Issue,不代表父任务整体已经验收。
设计文档
#126-194 Python 版本约束说明设计文档
目录
- 1. 评审目标
- 2. 问题边界
- 3. 设计选择
- 4. 验收标准
- 5. 状态与非目标
- 6. 目标、非目标与约束
- 7. 需求与评审意见追踪
- 8. 总体架构与职责边界
- 9. 代表性主流程
- 10. 关键类或组件关系
- 11. 兼容、迁移与版本策略
1. 评审目标
确认用户在安装前能够看到 Ascend Deployer 支持的 Python 版本范围,并能区分
“不在支持范围”与“工具在受支持版本发生故障”。
| 项目 | 内容 |
|---|---|
| 父任务 | #126 |
| 改进 Issue | #194 |
| 对应 PR | 无 |
| 当前状态 | Issue closed,resolved |
2. 问题边界
Python 3.14 环境执行帮助入口会在 inventory 写入阶段触发
configparser.InvalidWriteError。原资料没有清晰写明支持版本,用户容易把
超出支持范围的行为误判为通用安装故障。
3. 设计选择
资料明确当前支持范围为 Python 3.6~3.12。这是环境契约说明,不通过文档声称
已经兼容 Python 3.14。
运行时“帮助命令不应提前初始化部署任务”的问题单独归入
#195,避免把文档约束
与代码副作用混为一个修复。
4. 验收标准
- 安装或介绍文档明确 Python 最低和最高支持版本;
- 表述与项目当前支持口径一致;
- Python 3.14 不被写成已支持或已修复;
- 运行时副作用仍由 #195 独立追踪。
5. 状态与非目标
2026-07-21 的本地材料检查确认文档包含 Python 3.6~3.12 约束;
2026-07-29 API 回读确认 #194 已关闭并标记 resolved。本项不包含 Python
3.14 兼容实现、入口脚本版本检查或部署 E2E。
6. 目标、非目标与约束
目标是让用户在安装前识别 Python 3.6~3.12 的支持范围。非目标是通过文档完成
Python 3.14 适配或证明每个小版本都经过真机部署。约束是将版本契约与 #195 的
运行时副作用分开。
7. 需求与评审意见追踪
| 来源 | 要求 | 设计 | 证据 | 状态 |
|---|---|---|---|---|
| #194 | 资料说明支持版本 | 明确上下限 | 文档文本检查 | verified |
| #195 | 帮助路径副作用 | 独立追踪 | 运行复现 | 不归入本项修复 |
本项没有 issue-specific 的真实技术评审意见。
8. 总体架构与职责边界
flowchart LR
U["用户环境"] -->|对照| V["资料中的 3.6~3.12"]
V -->|范围内| S["按支持流程继续"]
V -->|范围外| O["提示不在声明范围"]
O -->|发现独立副作用| I["转入 #195"]
9. 代表性主流程
sequenceDiagram
participant U as 用户
participant D as 介绍/安装资料
participant R as 运行时
U->>D: 安装前检查 Python 要求
D-->>U: 返回 3.6~3.12
U->>R: 在支持范围内运行
R-->>U: 返回实际工具结果
资料只声明支持边界;运行时成功或失败仍由实际命令决定。
10. 关键类或组件关系
没有新增类或接口。资料是用户环境与运行时之间的前置契约;#195 的 CLI 初始化链
属于相邻但独立的代码责任。
11. 兼容、迁移与版本策略
资料变更不要求配置迁移。若未来扩展到 Python 3.13/3.14,必须先取得运行时和依赖
验证,再同步所有安装入口与包元数据,不能只改一处说明。
自验证报告
#126-194 自验证报告
目录
- 1. 验证范围
- 2. 原始现象
- 3. 文档检查
- 4. 线上状态
- 5. 结论与限制
- 6. 不可变环境基线
- 7. 需求到验证矩阵
- 8. 自验证结果总览
- 9. 故障与负向链路
- 10. 兼容与迁移验证
- 11. 限制与提交方结论
1. 验证范围
本报告验证支持版本资料是否明确,不把 Python 3.14 失败路径计为功能修复。
2. 原始现象
原始体验结果:
Python 3.14:帮助输出前触发 configparser.InvalidWriteError
Python 3.11:可以输出帮助,但运行时仍存在额外文件副作用
第二项运行时副作用由 #195 继续追踪。
3. 文档检查
2026-07-21 在当时的 dev@bcf91984 确认介绍文档包含:
Python 版本需大于等于 3.6,小于等于 3.12
该证据证明支持范围已写入资料,不证明 3.6~3.12 的每个小版本均完成真机部署。
4. 线上状态
2026-07-29 GitCode API 回读:
Issue #194:closed
标签:document、triaged、resolved
对应 PR:无
5. 结论与限制
提交方证据支持“版本约束已明确、资料 Issue 已关闭”。Python 3.14 适配以及帮助
路径初始化行为不属于本项完成结论。
6. 不可变环境基线
资料检查固定为 2026-07-21 的 dev@bcf91984;Python 3.14 现象来自同日实跑;
Issue 状态固定为 2026-07-29 API 回读。
7. 需求到验证矩阵
| 要求 | 检查 | 结果 | 证明 | 未证明 |
|---|---|---|---|---|
| 明确最低版本 | 文档文本 | 3.6 | 下限已声明 | 3.6 真机部署 |
| 明确最高版本 | 文档文本 | 3.12 | 上限已声明 | 3.12 全场景 |
| 不误报 3.14 | 边界核对 | 未列入支持范围 | 资料口径正确 | 3.14 永久不支持 |
8. 自验证结果总览
| 场景 | 观察 | 分类 |
|---|---|---|
| 资料约束 | “大于等于 3.6,小于等于 3.12” | verified |
| Python 3.14 | 帮助前异常 | verified,但属边界证据 |
| Issue 状态 | closed、resolved | verified remote fact |
9. 故障与负向链路
Python 3.14 的 InvalidWriteError 是范围外负向证据,不能拿它证明 3.6~3.12 都
健康,也不能以关闭 #194 掩盖 #195 的导入时副作用。
10. 兼容与迁移验证
本项只验证资料约束,没有对 3.6~3.12 做版本矩阵运行,也没有用户配置迁移。
未来扩大支持范围时需要运行时、依赖和资料同步验证。
11. 限制与提交方结论
提交方结论是“支持范围已明确且 Issue 已关闭”。不声称 Python 3.14 已适配,不把
资料说明当作完整兼容测试。


问题描述
按照安装部署工具的使用入口体验帮助命令时,当前环境默认
python3为 Python 3.14,执行:没有输出帮助信息,而是在导入阶段解析
inventory_file并写入parsed_inventory_file时崩溃:同一仓库使用 Python 3.11 执行:
可以正常输出帮助信息。
复现步骤
准备默认
python3为 Python 3.14 的环境。在仓库根目录执行:
观察命令输出。
实际结果
命令崩溃,无法查看帮助信息,错误栈中包含:
预期结果
-h/--help应稳定输出帮助信息;如果 Python 3.14 暂不支持,也应在文档或入口脚本中明确说明支持的 Python 版本范围,并给出可操作的规避方式。影响
用户在较新的 Python 环境中体验安装部署工具时,第一步查看帮助即失败,容易误判工具不可用。
建议修复
可以考虑以下任一方向:
ascend-deployer当前推荐/支持的 Python 版本范围。install.sh或start_deploy.py入口处增加 Python 版本检查,不支持时给出清晰错误提示。-h/--help路径,避免帮助命令在解析参数前触发 inventory 解析和文件写入副作用。本地验证
失败命令:
失败环境:
对照命令:
对照结果:Python 3.11 下可正常输出
ascend-deployer帮助信息。