Code execution failed while running Code Execution code

用户在自托管 Docker 环境下的 Dify 工作流中使用“代码执行” (Code Execution) 节点时触发。具体操作为:创建一个包含代码执行节点的工作流,然后执行该工作流。

Code execution failed while running Code Execution code

Code execution failed while running Code Execution code

快速结论:该报错通常出现在自部署 Docker 版本的 Dify 中,升级 Dify 后因沙箱(sandbox)容器内的 Python 路径变化导致。优先检查并更新 docker/volumes/sandbox/conf/config.yaml 中的 python_path 配置项。

问题场景

用户在自托管 Docker 环境下的 Dify 工作流中使用“代码执行” (Code Execution) 节点时触发。具体操作为:创建一个包含代码执行节点的工作流,然后执行该工作流。

报错原文

Got error code: -500. Got error msg: fork/exec /usr/local/bin/python3: no such file or directory

原因分析

这个错误是因为沙箱(Dify Sandbox)容器的 Python 二进制文件路径发生了变化。在 dify-sandbox 0.2.14 及更新的版本中,Python 路径从旧的 /usr/local/bin/python3 移动到了 /opt/python/bin/python3。如果用户的沙箱配置文件(config.yaml)中仍然引用了旧路径,执行代码时就会因找不到文件而失败。

此问题通常发生在升级 Dify 时,没有重新生成或手动更新沙箱配置文件。

环境排查

  • Dify 版本:main 分支(最新开发版)
  • 部署方式:Self Hosted (Docker)
  • 沙箱镜像版本:dify-sandbox 0.2.14 及以上
  • 配置文件路径:docker/volumes/sandbox/conf/config.yaml

解决步骤

  1. 找到您的 Dify Docker 部署目录下的沙箱配置文件:docker/volumes/sandbox/conf/config.yaml
  2. 编辑该文件,找到 python_path 配置项。
  3. 将其值从 /usr/local/bin/python3 修改为 /opt/python/bin/python3
    修改后的配置应如下所示:

    python_path: /opt/python/bin/python3
  4. 保存文件并重启沙箱容器。

验证方法

在 Dify 工作流中,再次执行之前失败的、包含代码执行节点的工作流。如果工作流成功执行且不再报错,则说明问题已解决。

参考来源

langgenius/dify #38617

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 12192

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注