title: Running a script in apache storm
body: <p>Is there a way to simply run a python script in Apache Storm? </p>
  
  <p>I'm trying to figure out how to use storm to run scripts but am having trouble.  It seems like I need to create a Java program to call the script and use it as a bolt but I simply want to send a very basic python script to storm to see if it is possible.  </p>
  
  <p>I read that the following command is helpful in sending topologies to storm but am having trouble understanding the syntax and if I am allowed to send any python code to storm or if it needs to have specific syntax. </p>
  
  <p>Can someone clarify whether or not I can submit any python script to storm and if so what the following line of code means.</p>
  
  <pre><code>storm shell resources/ python topology.py arg1 arg2
  </code></pre>
  
  <p>When I try to submit a basic python script using the above code i get the following output.</p>
  
  <pre><code>956  [main] INFO  backtype.storm.StormSubmitter - Uploading topology jar stormshell8691441.jar to assigned location: /home/scix3/apache/storm/data/nimbus/inbox/stormjar-ae0739f9-7c93-4f00-a02b-c4eceba3b005.jar
  966  [main] INFO  backtype.storm.StormSubmitter - Successfully uploaded topology jar to assigned location: /home/scix3/apache/storm/data/nimbus/inbox/stormjar-ae0739f9-7c93-4f00-a02b-c4eceba3b005.jar
  Exception in thread "main" java.io.IOException: Cannot run program "simple.py" (in directory "."): error=2, No such file or directory
  at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
  at java.lang.Runtime.exec(Runtime.java:617)
  at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58)
  at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:254)
  at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:319)
  at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:160)
  at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:147)
  at backtype.storm.util$exec_command_BANG_.invoke(util.clj:386)
  at backtype.storm.command.shell_submission$_main.doInvoke(shell_submission.clj:29)
  at clojure.lang.RestFn.applyTo(RestFn.java:139)
  at backtype.storm.command.shell_submission.main(Unknown Source)
  Caused by: java.io.IOException: error=2, No such file or directory
  at java.lang.UNIXProcess.forkAndExec(Native Method)
  at java.lang.UNIXProcess.&lt;init&gt;(UNIXProcess.java:186)
  at java.lang.ProcessImpl.start(ProcessImpl.java:130)
  at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
  ... 10 more
  </code></pre>
  
  <p>The exact command I'm using  (possibly incorrect) is <code>storm shell resources/ simple.py</code></p>
  
  <p>simple.py is merely a <code>print 'Hello, world</code> script.</p>
  
  <p>I'm using storm version 0.9.4</p>