You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PromptFlow部署后路径无法识别,触发FileNotFoundError问题求助

问题:PromptFlow部署后端点调用时出现文件找不到错误

我在PromptFlow中通过以下代码定义文件路径:

path: str = os.path.join(
    os.getcwd(),
    folder_name,
    sub_folder_name,
    file_name,
)

该代码在Windows本地VS Code中运行正常,在ai.azure.com在线运行也能找到文件,但部署PromptFlow后调用端点时收到如下错误:

{
"error": {
"code": "UserError",
"message": "Execution failure in 'my_python_file': (FileNotFoundError) [Errno 2] No such file or directory: '/var/runit/promptflow-ingress/my_folder_name/my_subfolder_name/my_file_name'"
}
}

我输出了os.getcwd()返回的/var/runit/promptflow-ingress/目录下的文件,结果如下:

  • 'handle_executor_containers.py'
  • 'finish'
  • 'run'
  • 'supervise'

解决方案
  1. 避免依赖os.getcwd()
    部署后的工作目录并非你的项目文件所在目录,因此通过os.getcwd()拼接路径会指向错误位置。

  2. 改用脚本所在目录作为基准路径
    使用__file__获取当前脚本的绝对路径,以此为基准拼接目标文件路径,代码示例:

import os

# 获取当前脚本所在的绝对目录
script_dir = os.path.dirname(os.path.abspath(__file__))
path: str = os.path.join(
    script_dir,
    folder_name,
    sub_folder_name,
    file_name,
)
  1. 确认部署包包含目标文件
    检查PromptFlow的部署配置,确保folder_name、sub_folder_name及目标文件被正确纳入部署包,避免文件遗漏。

内容的提问来源于stack exchange,提问作者DrGriff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 11:12:38