getting Ant build error: Cannot run program "python"

10,956

Make sure that python is in the PATH where you're running the build, or specify an absolute path to your python executable in the exec task.

Review the docs for the exec task for any specific instructions on using windows vs. not-windows. Note that your specific error is mentioned there:

A common problem is not having the executable on the PATH. In case you get an error message Cannot run program "...":CreateProcess error=2. The system cannot find the path specified. have a look at your PATH variable. Just type the command directly on the command line and if Windows finds it, Ant should do it too. (Otherwise ask on the user mailinglist for help.) If Windows can not execute the program add the directory of the programm to the PATH (set PATH=%PATH%;dirOfProgram) or specify the absolute path in the executable attribute in your buildfile.

Share:
10,956
developer
Author by

developer

Java Developer very much interested on Java releated technologies

Updated on June 04, 2022

Comments

  • developer
    developer almost 2 years

    This is the build file:

    <exec executable="python" failonerror="true">
      <arg line="${installer.izpack.dir}/utils/wrappers/izpack2exe/izpack2exe.py"/>
      <arg line="--file=${basedir}/installer/EasyIT-installer.jar"/>
      <arg line="--output=${basedir}/installer/EasyIT-installer.exe"/>
      <arg line="--no-upx"/>
    </exec>
    

    And the output:

    BUILD FAILED
    E:\Java Projects\Spark Projects\EastIT - Copy\build\build.xml:873: Execute failed: java.io.IOException: Cannot run program "python" (in directory "E:\Java Projects\Spark Projects\EastIT - Copy"): CreateProcess error=2, The system cannot find the file specified
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
            at java.lang.Runtime.exec(Runtime.java:615)
            at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:8 62)
            at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:481)
            at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:495)
            at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:631)
            at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:672)
            at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:498)
            at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
            at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:43)
            at java.lang.reflect.Method.invoke(Method.java:601)
            at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
            at org.apache.tools.ant.Task.perform(Task.java:348)
            at org.apache.tools.ant.Target.execute(Target.java:392)
            at org.apache.tools.ant.Target.performTasks(Target.java:413)
            at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
            at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
            at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java :41)
            at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
            at org.apache.tools.ant.Main.runBuild(Main.java:811)
            at org.apache.tools.ant.Main.startAnt(Main.java:217)
            at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
            at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
    Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
            at java.lang.ProcessImpl.create(Native Method)
            at java.lang.ProcessImpl.<init>(ProcessImpl.java:189)
            at java.lang.ProcessImpl.start(ProcessImpl.java:133)
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)
            ... 23 more
    
    
    Total time: 50 seconds