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

Jenkins执行Python脚本报错:找不到指定文件,求解决方案

问题:Jenkins执行Python脚本时提示文件不存在错误

尝试通过Jenkins文件传递参数执行Python脚本,但触发任务时出现错误:
can't open file '/Users/--/---/--/---/--/Update.py ': [Errno 2] No such file or directory

相关Jenkins代码片段:

def overrideJson = sh(returnStdout: true, script: "python3 /Users/anuj/---/--/---/--/Update.py input1  input2 ")

排查与解决方案

  • 核对文件真实路径
    错误信息中的路径用--替代了实际目录,先在Jenkins代理机器上执行ls /Users/anuj/---/--/---/--/Update.py,确认文件确实存在。注意目录/文件名的大小写(Linux代理区分大小写,MacOS默认不区分但需保持一致),以及是否包含特殊字符。

  • 移除命令末尾的多余空格
    代码中脚本命令的末尾存在多余空格,可能导致路径解析异常,修改为:

    def overrideJson = sh(returnStdout: true, script: "python3 /Users/anuj/---/--/---/--/Update.py input1 input2")
    
  • 检查Jenkins用户权限
    确认执行Jenkins任务的用户拥有该文件及父目录的读取权限。执行ls -l /Users/anuj/---/--/---/--/Update.py查看权限配置,若权限不足,可通过chmod +r /Users/anuj/---/--/---/--/Update.py添加读权限。MacOS环境下还需检查是否开启了磁盘访问隐私限制。

  • 改用相对路径或先切换目录
    如果脚本位于Jenkins工作目录内,使用相对路径更稳定;若不在工作目录,可先切换到脚本所在路径再执行:

    def overrideJson = sh(returnStdout: true, script: "cd /Users/anuj/---/--/---/--/ && python3 Update.py input1 input2")
    
  • 指定Python3绝对路径
    避免Jenkins代理环境的python3命令指向错误,改用Python解释器的绝对路径(比如/usr/bin/python3):

    def overrideJson = sh(returnStdout: true, script: "/usr/bin/python3 /Users/anuj/---/--/---/--/Update.py input1 input2")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 19:35:25