SuperAPI AI 工具集

env-management

编程与开发

查看项目

更新于 10-15 19:53

技能介绍

用途:解决笔记本因缺少包而运行失败(Python 的 ImportError、ModuleNotFoundError,R 的“there is no package called”)的问题,并管理会话绑定的运行时环境。

主要能力:笔记本运行在会话绑定的运行时上,默认是应用管理的 default-python / default-r,也可用 notebook_bind_runtime 绑定自建命名环境或用户自有解释器。安装统一通过受信主进程中的 manage_packages 完成,始终装入当前绑定运行时。inspect_packages(language, packages) 可读取已安装包的元数据与版本,不导入包、不改变环境;它不负责准备缺失的默认运行时,若返回 DEFAULT_RUNTIME_NOT_READY,需先用 notebook_execute 准备运行时再重试;它也会拒绝用户自有的外部运行时。

使用方式:Python 包用 manage_packages(language="python", packages=["numpy", "pandas"]);R 包用 manage_packages(language="r", packages=["ggplot2"]),R 包自动从 conda-forge 以 r-<name> 安装,传 CRAN 原名即可。仅 PyPI 的包加 usePip=true;需要特定 conda 频道时传 channels=["bioconda"],否则留空由应用提供默认镜像。安装会持久保留,没有临时安装;要装到别的环境需先绑定或切换(notebook_bind_runtime / notebook_switch_runtime),没有按调用指定环境的参数。应用管理的默认环境只支持增量安装(裸名或 name==version),卸载、版本范围、git/URL 规格需创建命名环境。manage_packages 返回 ok、needsRestart、安装方法、目标回执、verified packageChanges 及错误信息;R 的 needsRestart 恒为 true,需先 notebook_restart 再导入,Python 通常无需重启,若此前导入失败被缓存则重启重试。

限制:禁止用 apt、brew、yum、sudo,禁止 curl | bash 或下载运行安装器,禁止在单元格内执行 %pip install、!pip install、install.packages(...)、remotes::install_github(...)。需要系统级依赖(编译器、共享 C 库、CUDA/GPU 工具链)时应停止并向用户说明,不要自行安装系统依赖。创建隔离环境用 manage_environments(action:"create", language, name),检查 created.runnable 为 true 后使用其 created.runtimeId,已有绑定用 notebook_switch_runtime,无绑定用 notebook_bind_runtime;不要用短环境名当 runtimeId。应用管理的默认环境不可删除。