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

Java执行Python脚本报错CreateProcess error=193,求问题原因

问题原因及解决方案

问题根源

Windows系统无法直接执行.py后缀的脚本文件,因为它不属于合法的Win32可执行程序。你直接调用test1.py时,系统不知道该用什么程序解析运行这个脚本,因此抛出CreateProcess error=193异常。

解决方法

必须通过Python解释器来执行脚本,把Python可执行文件作为命令主体,脚本路径作为参数传入exec()方法:

1. 基础写法(Python已加入系统环境变量)

如果你的Python已经添加到系统PATH中,可以直接用python或python3命令:

process = Runtime.getRuntime().exec(new String[] {"python", "test1.py"});

针对Python3也可以写成:

process = Runtime.getRuntime().exec(new String[] {"python3", "test1.py"});

2. 指定Python绝对路径(未加入环境变量)

如果Python没在系统PATH里,需要写全Python可执行文件的绝对路径:

process = Runtime.getRuntime().exec(new String[] {"C:\\Python39\\python.exe", "test1.py"});

注意路径中的反斜杠要转义为\\。

额外注意事项

  • 如果test1.py不在Java程序的当前工作目录,要给脚本加上绝对路径,比如"C:\\scripts\\test1.py"。
  • 原代码中如果process创建失败(比如抛出异常),mProcess会是null,后续创建BufferedReader时会触发空指针异常,建议在读取输出前先判断stdout是否为null。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:05:35