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 环境一样自由使用第三方库了 🚀


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

相关推荐
九.九7 小时前
ops-transformer:AI 处理器上的高性能 Transformer 算子库
人工智能·深度学习·transformer
春日见7 小时前
拉取与合并:如何让个人分支既包含你昨天的修改,也包含 develop 最新更新
大数据·人工智能·深度学习·elasticsearch·搜索引擎
恋猫de小郭7 小时前
AI 在提高你工作效率的同时,也一直在增加你的疲惫和焦虑
前端·人工智能·ai编程
deephub7 小时前
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
人工智能·microsoft·langchain·大语言模型·agent·强化学习
大模型RAG和Agent技术实践7 小时前
从零构建本地AI合同审查系统:架构设计与流式交互实战(完整源代码)
人工智能·交互·智能合同审核
老邋遢7 小时前
第三章-AI知识扫盲看这一篇就够了
人工智能
互联网江湖7 小时前
Seedance2.0炸场:长短视频们“修坝”十年,不如AI放水一天?
人工智能
PythonPioneer8 小时前
在AI技术迅猛发展的今天,传统职业该如何“踏浪前行”?
人工智能
冬奇Lab8 小时前
一天一个开源项目(第20篇):NanoBot - 轻量级AI Agent框架,极简高效的智能体构建工具
人工智能·开源·agent
阿里巴巴淘系技术团队官网博客9 小时前
设计模式Trustworthy Generation:提升RAG信赖度
人工智能·设计模式