跨项目Python依赖共享与隔离管理

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

跨项目 Python 依赖共享与隔离管理。当创建新的 Python 项目、需要复用高成本大型依赖、判断依赖应进入共享环境还是项目环境、处理共享环境与项目环境的版本冲突、检查共享环境实际状态、核验 registry 与真实环境是否漂移、验证依赖是否能实际 import 时使用。关键词:python 依赖、venv、共享环境、site-packages、.pth、依赖冲突、环境隔离、import 验证、registry。

一句话选型结论

按资料字段整理

跨项目Python依赖共享与隔离管理是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_45416151/shared-dependency-manager
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_45416151仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791625122
正文体量9.6 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
跨项目Python依赖共享与隔离管理当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

9.6 KB
模型实际读到的说明书原文,来自技能仓库

shared-dependency-manager

> 跨项目 Python 依赖共享与隔离管理 Skill。
>
> ## 1. Purpose

> 在多个 Python 项目之间复用高成本、稳定、可跨项目的依赖,同时保持每个项目环境独立可复现,避免重复安装/下载,并防止项目之间互相破坏环境。

>本 Skill 不把"让所有项目共用一个环境"当作目标,而是建立 Shared Dependency(共享依赖)与 Project Environment(项目环境)两层结构,由 Agent 在两处之间做正确决策。


2. Scope

2.1 负责

  1. 发现项目依赖并核验实际 Python 环境。
  2. 发现共享依赖环境并分析兼容性。
  3. 判断依赖应共享还是项目隔离。
  4. 创建/准备项目级 Python 环境,建立对共享依赖的引用(.pth)。
  5. 安装项目专属依赖,防止破坏共享环境。
  6. 验证共享与项目依赖实际可导入、可运行。
  7. 更新共享依赖登记(registry)并检查 drift。

2.2 不负责

业务代码开发、API/前端/数据库设计、模型算法实现、与依赖无关的运行时 Bug、为绕过冲突随意改业务代码、未经分析直接升级/降级/卸载共享依赖、把整个项目迁移到共享环境。

> 若任务核心不是 Python 依赖管理,不应触发本 Skill。

3. Trigger Conditions

满足任一情况应考虑调用:

  • 项目初始化:新建 Python 项目环境、首次安装依赖、存在 pyproject.toml/requirements.txt/uv.lock。
  • 依赖共享:项目需要大型/高成本/高复用依赖、已存在共享环境、需要判断依赖进 shared 还是 project。
  • 依赖冲突:项目要求与共享环境版本冲突、Python 版本不一致、平台/架构/ABI/binary 可能冲突、runtime/backend 无法满足。
  • 环境维护:检查共享环境实际安装状态、核对 registry 与实际一致、更新共享资产、验证项目仍能使用共享依赖。

不应触发:修改普通业务逻辑、调试与依赖无关的错误、Git/数据库操作、单纯运行已有程序且无需改环境。

4. Inputs

显式输入(最少):

operation: initialize | install | inspect | verify | audit | update
project_path: <path>

可选:shared_environment_path、registry_path、requested_dependencies。

自动探测:应优先实际探测而非依赖描述。探测 Python executable/version/platform/architecture、项目依赖文件、共享环境、共享环境 Python 版本、已安装包、包位置、uv 可用性。

项目依赖来源:优先读 pyproject.toml、uv.lock、requirements.txt、项目环境配置;不得仅凭 README 示例命令推断完整依赖。

5. Outputs

同时产生人类可读结果与机器可读结果。机器可读结果统一为:

status: success | partial | blocked | failed

project:
  path: ...
  python: ...

shared_environment:
  path: ...
  python: ...

dependencies:
  shared: []
  project: []
  conflicts: []
  unknown: []

actions: []
verification:
  status: passed | failed | not_run
errors: []
warnings: []

> 脚本层输出契约(inspect/scan/configure/verify 的具体字段)见 references/contracts.md。

6. Shared vs Project Environment

  • Shared Environment 保存:安装成本高、下载体积大、多项目高复用概率、版本稳定、能形成兼容集合的依赖。共享环境不应成为"什么都装"的垃圾环境,默认只读受保护。
  • Project Environment 保存:项目专属、低复用、实验性版本、与共享冲突、需独立生命周期、不确定是否适合共享的依赖。

原则:不确定是否安全共享时,优先项目隔离。

7. Sharing Decision Policy

对每个候选共享依赖,检查:复用价值、安装成本、版本约束、Python 版本、平台/架构、ABI/binary 兼容性、已有共享依赖关系、项目专属程度。

条件 Shared Project
高安装成本 ✅ 可选
高复用价值 ✅
版本稳定 ✅
项目专属 ✅
明显版本冲突 ✅
Python 版本冲突 ✅
ABI/binary 风险高 ✅
实验性版本 ✅
无法证明兼容 ✅

不得仅依据包名称判断共享与否。

8. Environment Protection

共享环境默认受保护:

protect_shared_environment: true
auto_upgrade: false
auto_downgrade: false
auto_uninstall: false

项目任务不得为满足自身需求自动升级/降级/卸载/替换共享核心依赖、修改共享 Python。若项目需要冲突版本:Shared 保持不变,冲突依赖隔离到 Project Environment。

只有满足以下条件才允许提出共享环境变更:1) 明显跨项目复用价值;2) 已有项目影响已分析;3) 新版本兼容性已确认;4) 变更可验证;5) 变更已记录。

脚本安全规则:不删除共享环境、不卸载/自动升级/自动降级共享依赖、修改共享前必须显式进入 shared-change workflow、项目环境修改优先于共享环境、所有 destructive action 默认 dry-run 或显式确认、输出实际修改的路径/包/版本。

9. 调用链(Workflow)

标准调用链(脚本负责采集事实并执行受控动作,Agent 负责共享/隔离决策):

inspect_python_env
        ↓
scan_project_dependencies
        ↓
inspect_shared_env
        ↓
Agent 决策(复用 / 隔离 / 候选 / blocked)
        ↓
configure_shared_path(需要实际复用时)
        ↓
verify_shared_dependencies
        ↓
Agent 生成 agent-result

> 各脚本职责、CLI 与输出字段详见 references/contracts.md。

10. Verification Rules

验证必须区分 import 与 location,不能只验证 install 命令返回成功:

  1. Import:import package 成功。
  2. Location:确认 package 从哪里加载(package.__file__)。若被视为 Shared Dependency,实际路径必须来自 Shared Environment 的 site-packages。
  3. Version:确认 package.__version__ 或 metadata。
  4. Interpreter:确认 sys.executable、sys.prefix。
  5. Project-specific runtime:若项目需要特定能力(GPU/native extension/DB driver),验证该能力而非只验证 import。

共享成功的三项验收标准(必须共同满足):

importable == true
reused_from_shared == true
sys_path_contains_shared == true

三者缺一不可,Agent 才能把该依赖判定为"已实际复用"。

11. Error Handling

  • Shared package 无法 import:检查 project sys.path → .pth → shared site-packages → interpreter 兼容性。
  • import 失败但包存在:优先检查 Python 版本/ABI/platform/架构/子依赖/项目本地冲突包,不要第一时间改 Shared。
  • 项目要求冲突版本:保持 Shared 不变,安装/隔离到 Project 版本。
  • Registry 与实际不一致:报告 "Shared Environment Drift Detected",默认不自动纠正。
  • 无法确认安全共享:按 Unknown → Project Environment,保守优先。

12. Final Decision Algorithm

INPUT
  project / dependency requirements / actual Python env / shared environment
        ↓
DISCOVER  project dependencies, shared packages, Python compatibility
        ↓
CLASSIFY  reusable | project-local | conflicting | unknown
        ↓
DECIDE
  reusable + compatible        → reuse Shared
  missing + high reuse + compatible → candidate for Shared
  project-specific / conflict / unknown → Project
        ↓
CONNECT  建立共享引用 → 验证实际 import 路径
        ↓
INSTALL  仅安装缺失的项目本地依赖
        ↓
VERIFY   interpreter / import / version / package location / runtime capability
        ↓
RECORD   Registry / PROJECT_ENV.md
        ↓
OUTPUT   human-readable report + structured result

13. Success Criteria

一次成功执行至少满足:

  • Trigger 判断正确;项目依赖已识别;实际 Python 环境与 Shared Environment 均已检查。
  • Shared/Project 决策有依据;未破坏 Shared Environment;项目环境独立存在。
  • 共享引用机制可解释;Shared package 实际 import 成功;location 与版本关系验证通过。
  • Project-specific 依赖可用;registry/环境记录已更新;可重复执行而不产生无意义安装。

最终目标:让 Root Agent 能把"Python 依赖安装问题"交给一个稳定、可验证、与具体框架和包管理器解耦的基础设施 Skill,由该 Skill 在 Shared 与 Project 之间做正确决策。


附录:实现契约与可迁移决策案例

  • references/README.md — references 索引(实现契约 + 决策案例库)。
  • references/contracts.md — 脚本/schema 契约摘要(脚本职责、CLI、输出字段、幂等 changed 语义、.pth 落位要求、opencv 导入名提示)。
  • references/scenario-01.md ~ scenario-07.md — 7 个可迁移决策案例(环境情形 / 依赖条件 / Agent 决策 / 关键依据 / 可复用要点,用占位符表述,不绑定本机路径)。

常见问题

5 问
答案由本站依据条目字段整理
跨项目Python依赖共享与隔离管理怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_45416151/shared-dependency-manager。安装方式为未标注。装完刷新技能列表或重开客户端。

跨项目Python依赖共享与隔离管理支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

跨项目Python依赖共享与隔离管理权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

跨项目Python依赖共享与隔离管理收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

跨项目Python依赖共享与隔离管理用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。