SuperAPI AI 工具集

venvstacks

部署与运维

查看项目

更新于 10-16 01:19

技能介绍

用途:venvstacks 用于打包 Python ML/AI 应用并独立分发运行时环境,通过分层虚拟环境栈实现依赖锁定和可重现发布。

主要能力:定义三层环境架构(Runtime 为 Python 解释器环境、Framework 为共享框架如 PyTorch/scikit-learn、Application 为独立应用组件);依赖锁定与本地导出、归档发布;可重现构建,相同输入产生字节级相同归档,并记录输入与输出哈希。依赖锁定使用 uv 进行联合依赖解析,跨平台锁定采用 pylock.toml 格式,仅允许从二进制包安装。sitecustomize.py 实现层间依赖共享,允许代码导入下层包的模块。

安装:pipx install venvstacks 或 pip install --user venvstacks,依赖 uv>=0.5.0。

使用方式:在 venvstacks.toml 中定义 runtimes、frameworks、applications 三层,例如 runtime 指定 cpython@3.11、fully_versioned_name 为 cpython@3.11.10,application 指定 launch_module 与 frameworks。随后执行锁定:venvstacks lock sklearn_demo/venvstacks.toml,生成 requirements 文件夹与层锁定元数据。构建:venvstacks build sklearn_demo/venvstacks.toml,创建 venv、安装指定包、注入 sitecustomize.py 与 postinstall.py。本地测试:venvstacks local-export --output-dir demo_export sklearn_demo/venvstacks.toml。发布:venvstacks publish --tag-outputs --output-dir demo_artifacts sklearn_demo/venvstacks.toml。一步完成锁定、构建、发布:venvstacks build --publish --tag-outputs --output-dir artifacts stack.toml。多平台时先跨平台 lock,再分平台 build --target linux-x64、win32-x64、darwin-arm64,最后 publish。

适用场景:需要打包 Python ML/AI 应用并独立分发运行时环境时;需要跨平台构建与可重现归档时。限制:资料未提供支持的 Python 版本范围、平台兼容性细节、收费或价格信息;仅允许二进制包安装。