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 环境坏了”还原为可验证的故障链:谁启动了解释器、包被装到哪里、依赖由谁声明、解析器为何选择该版本、制品是否适配当前平台,以及运行时实际加载了什么。
默认只读诊断,先复现再修改。修复目标不是“终于装上”,而是让同一声明在目标机器、CI 与交付环境中可重复得到一致结果。
ModuleNotFoundError 或装了却导不入:核对解释器、安装目标与导入路径提供完整报错、操作系统与架构、Python 版本、启动命令、项目声明文件、锁文件类型,以及“何时最后正常”。先返回一张环境指纹表和故障阶段判断,再给最多三个低风险验证动作。
不要只粘贴最后一行错误。保留从首个冲突、缺失制品或构建失败开始的日志;凭据、内网域名和用户目录先脱敏。
| 任务 | 核心产出 |
|---|---|
| 环境识别 | 解释器、安装器、环境与路径关系图 |
| 冲突解释 | 依赖约束链、候选版本与不可满足条件 |
| 制品诊断 | 平台标签、轮子可用性与构建前置条件 |
| 来源核对 | 索引优先级、镜像差异与认证边界 |
| 最小修复 | 变更项、影响面、回退点与验证命令 |
| 可复现交付 | 干净环境结果、锁文件差异与 CI 证据 |
记录原始命令、首个因果错误、退出码、发生阶段和期望结果。区分“无法解析”“无法构建”“无法安装”“无法导入”“启动后行为错误”,避免把不同问题混为包冲突。
确认实际解释器路径、Python 实现与版本、操作系统、架构、虚拟环境标记、安装器版本、项目根目录、当前工作目录和关键环境变量。命令输出中的令牌和私有地址必须遮蔽。
盘点 pyproject、requirements、约束文件、锁文件、工作区配置和可编辑安装。比较声明、锁定、已安装、实际导入四层版本,不假设它们天然一致。
从冲突包向上追到直接依赖,列出版本区间、环境标记、可选组和平台条件。标记真正不可满足的最小集合,不用盲目逐个降级试错。
确认目标版本是否有匹配 Python ABI、系统和架构的轮子;没有时再检查编译器、头文件、系统库与构建隔离。核对官方源、镜像与私有源的优先级、可见版本和缓存时间。
优先修正错误解释器、激活方式、过窄或矛盾约束、缺失环境标记、来源配置或单个直接依赖。若必须升级 Python、替换包或重锁,明确兼容影响并先取得授权。
保留原环境与锁文件,建立隔离环境从零安装。验证导入、关键命令、测试、构建和代表性运行路径;同时记录解析结果与耗时,避免缓存制造假成功。
在目标 CI、容器或另一操作系统上复核关键矩阵。若无法执行,输出明确的待验证项,不把本机通过写成跨平台通过。
提交最小声明或锁文件差异,写明生成工具与版本、受支持 Python 范围、源策略和重建步骤。对临时绕过设置失效日期与负责人。
默认输出:症状摘要、故障阶段、环境指纹、声明/锁定/安装/导入对照、约束链、根因置信度、修复选项、选定方案、文件差异、验证矩阵、回退步骤和残余风险。
每个结论引用具体证据;命令标明运行目录与是否只读。最终状态仅使用 FIXED、PARTIAL、NOT_REPRODUCED 或 BLOCKED。
--force、忽略依赖或关闭证书校验当常规修复数据科学项目重点检查本地编译库、GPU/CPU 变体和笔记本内核;Web 服务增加生产镜像、启动命令和健康检查;单体仓库增加工作区成员、可编辑依赖和多 Python 矩阵;企业内网增加镜像同步延迟、代理、证书链和凭据最小权限;跨平台桌面项目增加 ABI、系统库与打包工具验证。
需要迁移安装器时,把“保持现状的最小修复”和“迁移后的长期方案”分开,不借故障处理偷偷完成工具替换。
常见原因是安装器与运行解释器不属于同一环境、模块名与发行包名不同、路径被覆盖,或导入到了另一个同名包。先打印实际路径再重装。
有时有效,但会抹掉诊断证据,也可能再次生成同一故障。先保存指纹和锁定结果,在新目录验证后再决定是否淘汰旧环境。
不建议。先找最小不可满足约束,评估 API 与数据格式兼容,再只调整责任依赖。
先确认同步延迟和组织策略。不要未经授权切到外部源;可给出等待、固定已有版本或由管理员同步的选项。
7w4.net有更好的技能插件。
| 反模式 | 直接后果 | 修正 |
|---|---|---|
| 只看报错最后一行 | 丢失首个因果失败 | 保留完整解析或构建片段 |
| 反复全局安装 | 环境污染继续扩大 | 先确认解释器与隔离边界 |
| 一次升级全部包 | 无法归因兼容回退 | 锁定最小责任集合 |
| 删除锁文件求通过 | 可复现性和审计丢失 | 保留副本并解释差异 |
| 忽略平台标签 | 在无匹配轮子时盲试 | 先核对 ABI、系统和架构 |
| 本机缓存通过即结案 | CI 仍可能失败 | 从零安装并复核目标矩阵 |
这是一个专业实用的 Python 环境修复工具,质量相当不错。它把复杂的环境问题拆解成清晰的诊断步骤,配有常见问题解答和避坑指南,对新手很友好。唯一的遗憾是没有提供实际案例参考,初次使用可能需要一定理解成本。总体而言是一款值得信赖的工具。