【问题标题】:CreateProcess error=2, Can not run program "python" on AntCreateProcess 错误=2,无法在 Ant 上运行程序“python”
【发布时间】:2022-02-20 11:07:55
【问题描述】:

当我通过 Ant 运行我的 xml 代码时出现C:\Users\Sony\Desktop\Project\Workspace\testpython\verify_fam_extended.xml:52: Execute failed: java.io.IOException: Cannot run program "python" (in directory "C:\Users\Sony\Desktop\Project\Workspace\testpython\backend\generated"): CreateProcess error=2, The system cannot find the file specified 错误。

<exec dir="backend/generated" executable="python">
    <arg line="toplevel.py"/>
    <env key="PYTHONPATH" value="${dsltrans.install.path}:./backend/generated"/> 
</exec>

【问题讨论】:

  • 检查您的%path% 环境变量是否包含python.exe 所在的目录。
  • @cdarke 我的路径值是 C:\Program Files\Java\jdk1.8.0\bin;C:\Program Files\pl\bin;C:\Python22 并且我的 python.exe 在 C:\Python22
  • 格式化代码。
  • stackoverflow.com/questions/47952935/… 只有这个对我有用!

标签: java python ant


【解决方案1】:

edit python.exe 必须位于可执行路径变量PATH 中定义的目录中。

以下工作示例假设存在C:\Python33\python.exe

<project name="demo" default="main" basedir=".">
  <property environment="env" />
  <echo>PATH is set as: ${env.PATH}</echo>

  <target name="main">
    <exec dir="backend/generated" executable="python">
      <arg line="--version"/>
    </exec>        
  </target>                                
</project>

在命令会话中执行

set PATH=C:\Python33;%PATH%
ant 

输出

Buildfile: X:\temp\build.xml
     [echo] PATH is set as: C:\Python33;...
...
main:
     [exec] Python 3.3.0

编辑刚刚检查。可执行文件可以是executable="python"executable="python.exe"。所以@cdarke 是对的,问题是python.exe 不在PATH 中。

【讨论】:

  • 我将python 更改为python.exe,但还是有问题。
  • 可执行文件必须在可执行文件路径中。请参阅更新的答案。我盲目地认为它已经是这样了。
  • 我的路径值为 C:\Program Files\Java\jdk1.8.0\bin;C:\Program Files\pl\bin;C:\Python22 而我的 python.exe 在 C:\ Python22
  • 上述代码中的${dsltrans.install.path}:./backend/generated需要改吗?
  • @any 我添加了一个工作示例。似乎在您执行ant 的会话中,python.exe 的路径未按预期设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多