Dify Sandbox 如何安装第三方库(matplotlib / numpy / pandas 通用方法)

在 Dify 的 Sandbox 中安装并使用第三方库(Numpy 为例)

在使用 Dify 进行应用开发的过程中,很多同学可能会遇到这样的问题:

在 Sandbox 中无法直接 pip install 新库,导致一些功能(比如绘图、数据分析)没法使用。
因为官方sandbox有很多关于权限的设置,那是一个更好的沙盒方案,但是个人实际使用过程中,Dify的代码节点完全是个人编辑,所以也不存在代码注入风险,希望有更大的权限,安装更多依赖包例如numpy>2.0,matplotlib,scikit-learn 减少一些看不懂的报错

本文记录了我成功在 Sandbox 中安装并使用 numpy 的完整过程,绝对可行,适合遇到类似需求的朋友参考。


1. 修改 docker-compose.yaml 配置

默认情况下,Dify 使用的是官方的 sandbox 镜像,不支持直接扩展库。

解决方法是 替换镜像

  1. 打开 docker-compose.yaml 文件
  2. 找到 sandbox 配置块
  3. 注释掉原有的 image,并改成如下内容:
yaml 复制代码
image: svcvit/dify-sandbox-py:0.1.4

2. 添加所需的依赖库

进入 Dify 的依赖管理目录:

复制代码
volumes/sandbox/dependencies/python-requirements.txt

在该文件中添加你需要的第三方库,例如:

复制代码
numpy

📌 注意事项:

  • 可以同时写多个库,每行一个
  • 建议写上版本号,例如 numpy==2.3.3,避免版本冲突

3. 删除原有 Sandbox 镜像并重新拉取

配置修改后,需要让 Docker 重新拉取新的镜像,否则依然会走旧的缓存。

方式一:命令行操作

bash 复制代码
# 停止容器
docker compose down

# 删除旧镜像
docker rmi <旧的 sandbox 镜像 ID 或 名称>

# 重新启动并拉取
docker compose up -d

方式二:如果你不熟悉命令行,可以直接在 Docker Desktop 软件里删除旧镜像容器,再点击启动就会重新拉取镜像。

⚠️ 如果你在国内环境,可能拉取镜像失败,需要:

  • 开启 VPN
  • 或者配置镜像源(例如阿里云加速器)

🔧 小提示:如果 python-requirements.txt 安装失败

在部分情况下(比如依赖源超时、镜像缓存问题),可能会发现库没有被正确安装。这时可以进入 Sandbox 容器内部,手动使用 pip install

bash 复制代码
docker exec -it docker-sandbox-1 /bin/bash
pip install numpy

4. 验证库是否安装成功

Dify 的代码节点 中,直接调用 numpy 输出版本信息:

python 复制代码
import numpy as np

def main(arg1: str) -> dict:
    arg1 = "numpy version:"+np.__version__ 
    return {"result": arg1}

如果能正常输出,说明你的 Sandbox 已经可以使用第三方库了 🎉


5. 常见问题与排查

  • 镜像拉取失败 → 尝试 VPN 或换国内源
  • 库未生效 → 确认是否删除旧镜像,否则 docker-compose 会直接复用缓存
  • 安装时间长 → 因为每次都会在容器内重新安装 python-requirements.txt 中的依赖,耐心等待即可

总结

整个流程的核心要点有三个:

  1. 替换 Sandbox 镜像为可扩展的版本
  2. python-requirements.txt 中声明依赖
  3. 删除旧镜像并重新启动

这样一来,Dify 的 Sandbox 环境就能像常规 Python 环境一样自由使用第三方库了 🚀


有问题欢迎评论区留言!🤞😉

相关推荐
@PHARAOH1 天前
WHAT - AI 时代下的候选人
大数据·前端·人工智能
何仙鸟1 天前
Garmagenet环境安装
人工智能·深度学习
balmtv1 天前
ChatGPT与Gemini官网联网搜索技术拆解:实时信息如何被准确获取?
人工智能·chatgpt
Σίσυφος19001 天前
格雷码详解
人工智能
可观测性用观测云1 天前
观测云推出 OpenClaw 可观测插件:从黑盒到白盒,让每次 AI 执行皆有迹可循
人工智能
阿里云大数据AI技术1 天前
告别“金鱼记忆”:Hologres + Mem0,为大模型打造企业级长记忆引擎
人工智能·llm
周末程序猿1 天前
技术总结|十分钟抓包逆向分析 `Claude-Code`
人工智能
Theodore_10221 天前
深度学习(11):偏差与方差诊断、学习曲线
人工智能·笔记·深度学习·神经网络·机器学习·计算机视觉
weixin_436182421 天前
PLC 与 DCS 国产化报告获取:工控产业情报查找指南
大数据·人工智能·国产plc
金智维科技官方1 天前
制造业如何用Ki-AgentS智能体平台实现设备巡检自动化?
大数据·运维·人工智能