
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
解决步骤
- 找到您的 Dify Docker 部署目录下的沙箱配置文件:
docker/volumes/sandbox/conf/config.yaml。 - 编辑该文件,找到
python_path配置项。 - 将其值从
/usr/local/bin/python3修改为/opt/python/bin/python3。
修改后的配置应如下所示:python_path: /opt/python/bin/python3 - 保存文件并重启沙箱容器。
验证方法
在 Dify 工作流中,再次执行之前失败的、包含代码执行节点的工作流。如果工作流成功执行且不再报错,则说明问题已解决。



