Python 环境修复助手

👤 嘟嘟喂杜杜 📦 v1.0.0 ⭐ 4.6 ⬇️ 42 下载
🔒 IT运维与安全 免费

📖 技能介绍


slug: python-env-repair-cn name: python-env-repair-cn displayName: Python 环境修复助手 summary: 定位解释器、虚拟环境、锁文件、包索引与平台轮子差异,给出最小且可回退的 Python 环境修复方案。 description: 用于 Python 包装不上、导入失败、版本冲突、虚拟环境混乱、锁文件漂移、本机能跑而 CI 失败、不同平台解析结果不一致和私有源异常。先采集解释器、安装器、环境、声明文件、锁文件与来源证据,再区分解析、构建、安装、导入和运行阶段,解释冲突链,设计最小变更并在干净环境复现。未经授权不删除环境、不全局升级、不改写锁文件或上传私有依赖信息。 version: 1.0.0 license: MIT homepage: https://skillhub.cn tags: [Python, 虚拟环境, 依赖冲突, 环境排错]


Python 环境修复助手

能力定位

把“Python 环境坏了”还原为可验证的故障链:谁启动了解释器、包被装到哪里、依赖由谁声明、解析器为何选择该版本、制品是否适配当前平台,以及运行时实际加载了什么。

默认只读诊断,先复现再修改。修复目标不是“终于装上”,而是让同一声明在目标机器、CI 与交付环境中可重复得到一致结果。

快速导航

  • ModuleNotFoundError 或装了却导不入:核对解释器、安装目标与导入路径
  • 依赖版本互相冲突:读取 dependency-evidence.md
  • 编译轮子失败:区分缺少二进制制品、构建工具链与系统库
  • 本机能跑、CI 失败:对照平台、Python 小版本、索引、锁文件与缓存
  • 私有源 401/403/找不到包:只记录源优先级与认证方式,不回显令牌
  • 想重建环境:读取 repair-and-verification.md

新手30秒入门

提供完整报错、操作系统与架构、Python 版本、启动命令、项目声明文件、锁文件类型,以及“何时最后正常”。先返回一张环境指纹表和故障阶段判断,再给最多三个低风险验证动作。

不要只粘贴最后一行错误。保留从首个冲突、缺失制品或构建失败开始的日志;凭据、内网域名和用户目录先脱敏。

功能索引

任务 核心产出
环境识别 解释器、安装器、环境与路径关系图
冲突解释 依赖约束链、候选版本与不可满足条件
制品诊断 平台标签、轮子可用性与构建前置条件
来源核对 索引优先级、镜像差异与认证边界
最小修复 变更项、影响面、回退点与验证命令
可复现交付 干净环境结果、锁文件差异与 CI 证据

标准工作流

1. 固定症状与成功标准

记录原始命令、首个因果错误、退出码、发生阶段和期望结果。区分“无法解析”“无法构建”“无法安装”“无法导入”“启动后行为错误”,避免把不同问题混为包冲突。

2. 建立环境指纹

确认实际解释器路径、Python 实现与版本、操作系统、架构、虚拟环境标记、安装器版本、项目根目录、当前工作目录和关键环境变量。命令输出中的令牌和私有地址必须遮蔽。

3. 对齐声明与真实状态

盘点 pyproject、requirements、约束文件、锁文件、工作区配置和可编辑安装。比较声明、锁定、已安装、实际导入四层版本,不假设它们天然一致。

4. 还原依赖约束链

从冲突包向上追到直接依赖,列出版本区间、环境标记、可选组和平台条件。标记真正不可满足的最小集合,不用盲目逐个降级试错。

5. 检查制品与来源

确认目标版本是否有匹配 Python ABI、系统和架构的轮子;没有时再检查编译器、头文件、系统库与构建隔离。核对官方源、镜像与私有源的优先级、可见版本和缓存时间。

6. 设计最小修复

优先修正错误解释器、激活方式、过窄或矛盾约束、缺失环境标记、来源配置或单个直接依赖。若必须升级 Python、替换包或重锁,明确兼容影响并先取得授权。

7. 在副本或干净环境验证

保留原环境与锁文件,建立隔离环境从零安装。验证导入、关键命令、测试、构建和代表性运行路径;同时记录解析结果与耗时,避免缓存制造假成功。

8. 复核多环境一致性

在目标 CI、容器或另一操作系统上复核关键矩阵。若无法执行,输出明确的待验证项,不把本机通过写成跨平台通过。

9. 固化修复

提交最小声明或锁文件差异,写明生成工具与版本、受支持 Python 范围、源策略和重建步骤。对临时绕过设置失效日期与负责人。

输出规范

默认输出:症状摘要、故障阶段、环境指纹、声明/锁定/安装/导入对照、约束链、根因置信度、修复选项、选定方案、文件差异、验证矩阵、回退步骤和残余风险。

每个结论引用具体证据;命令标明运行目录与是否只读。最终状态仅使用 FIXEDPARTIALNOT_REPRODUCEDBLOCKED

能力边界

  • 不在未确认目标解释器时安装或卸载包
  • 不默认使用系统级、管理员级或全局安装
  • 不删除用户环境、缓存或锁文件来“重来”
  • 不把 --force、忽略依赖或关闭证书校验当常规修复
  • 不回显令牌、私有源密码、内网包名或完整用户路径
  • 不声称一个操作系统的成功代表全部平台
  • 不擅自升级 Python 主/次版本或大范围重锁

稳定性保障

  • 保存原始报错和修改前环境指纹
  • 区分声明、锁定、安装与实际导入四层状态
  • 优先使用隔离副本和只读查询
  • 每次只改变一个主要变量
  • 干净环境从零复现,另做缓存命中对照
  • 记录安装器、解析器和锁文件生成版本
  • 验证关键导入、测试、构建与运行路径

    小葱技能站7w4.net发现了升级插件。

  • 保留原锁文件和可执行回退步骤

深度定制

数据科学项目重点检查本地编译库、GPU/CPU 变体和笔记本内核;Web 服务增加生产镜像、启动命令和健康检查;单体仓库增加工作区成员、可编辑依赖和多 Python 矩阵;企业内网增加镜像同步延迟、代理、证书链和凭据最小权限;跨平台桌面项目增加 ABI、系统库与打包工具验证。

需要迁移安装器时,把“保持现状的最小修复”和“迁移后的长期方案”分开,不借故障处理偷偷完成工具替换。

FAQ

为什么明明安装成功却导入失败?

常见原因是安装器与运行解释器不属于同一环境、模块名与发行包名不同、路径被覆盖,或导入到了另一个同名包。先打印实际路径再重装。

删除虚拟环境重建最快吗?

有时有效,但会抹掉诊断证据,也可能再次生成同一故障。先保存指纹和锁定结果,在新目录验证后再决定是否淘汰旧环境。

可以直接放宽所有版本约束吗?

不建议。先找最小不可满足约束,评估 API 与数据格式兼容,再只调整责任依赖。

镜像源里没有最新版怎么办?

先确认同步延迟和组织策略。不要未经授权切到外部源;可给出等待、固定已有版本或由管理员同步的选项。

反模式与修正

反模式 直接后果 修正
只看报错最后一行 丢失首个因果失败 保留完整解析或构建片段
反复全局安装 环境污染继续扩大 先确认解释器与隔离边界
一次升级全部包 无法归因兼容回退 锁定最小责任集合
删除锁文件求通过 可复现性和审计丢失 保留副本并解释差异
忽略平台标签 在无匹配轮子时盲试 先核对 ABI、系统和架构
本机缓存通过即结案 CI 仍可能失败 从零安装并复核目标矩阵

按需 references

🤖 AI 评测

这是一个专业实用的 Python 环境修复工具,质量相当不错。它把复杂的环境问题拆解成清晰的诊断步骤,配有常见问题解答和避坑指南,对新手很友好。唯一的遗憾是没有提供实际案例参考,初次使用可能需要一定理解成本。总体而言是一款值得信赖的工具。

📊 多维度评分

适应性4.3
规范性4.3
有效性4.8
可靠性4.6
可信度5

📁 包含文件 (4 个)

📄 SKILL.md 8.1 KB
📄 agents/openai.yaml 262 B
📄 references/dependency-evidence.md 1.4 KB
📄 references/repair-and-verification.md 1.2 KB