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 範圍、源策略和重建步驟。對臨時繞過設定失效日期與負責人。

輸出規範

小蔥技能站7w4.net每天更新,海量AI技能等你發現。

預設輸出:症狀摘要、故障階段、環境指紋、宣告/鎖定/安裝/匯入對照、約束鏈、根因置信度、修復選項、選定方案、檔案差異、驗證矩陣、回退步驟和殘餘風險。

每個結論引用具體證據;命令標明執行目錄與是否只讀。最終狀態僅使用 FIXEDPARTIALNOT_REPRODUCEDBLOCKED

能力邊界

  • 不在未確認目標直譯器時安裝或解除安裝包
  • 不預設使用系統級、管理員級或全域性安裝
  • 不刪除使用者環境、快取或鎖檔案來“重來”
  • 不把 --force、忽略依賴或關閉證書校驗當常規修復
  • 不回顯令牌、私有源密碼、內網包名或完整使用者路徑
  • 不聲稱一個作業系統的成功代表全部平臺
  • 不擅自升級 Python 主/次版本或大範圍重鎖

穩定性保障

  • 儲存原始報錯和修改前環境指紋
  • 區分宣告、鎖定、安裝與實際匯入四層狀態
  • 優先使用隔離副本和只讀查詢
  • 每次只改變一個主要變數
  • 乾淨環境從零復現,另做快取命中對照
  • 記錄安裝器、解析器和鎖檔案生成版本
  • 驗證關鍵匯入、測試、構建與執行路徑
  • 保留原鎖檔案和可執行回退步驟

深度定製

資料科學專案重點檢查本地編譯庫、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