5 Replies Latest reply: Aug 30, 2013 12:32 PM by Camelot
AppleJason Level 1 (10 points)

I have setup a "run shell script" automator action to run a python script from my applications folder.


The line:


"/usr/bin/python /Applications/MyProg/myPythonProg.py"


does not work.  I know its not recognizing the /applications part of the line.


How can I get it to run a program in my Applications folder?



iMac, Mac OS X (10.6.8), i5 with Thunderbolt
  • BobHarris Level 6 (17,739 points)

    If you type


    /usr/bin/python /Applications/MyProg/myPythonProg.py


    at the Terminal command line prompt, does it work?


    If it works from a Terminal session, then there must be something in your Terminal environment that does not exist when running from Automator.  Look at your python script for any environment variables you expect to use and then run add


    Run Shell Script

    printenv >/tmp/automator.environment.txt


    to your Automator script and after running it, use the Terminal to look at /tmp/automator.environment.txt and see if it has the variables you need.


    Do you really have the command between "..." in Automator?  or did you just do that for your forum posting?  If it is inside "..." the sell will not parse it properly.


    Can you describe what your script is suppose to do?

  • Camelot Level 8 (46,675 points)

    In addition to Bob's question about what it's supposed to do, you should state what it does do.


    For example, does it give you an error message? do something unexpected? fail silently?

    That will go a long way to helping pinpoint the issue.


    Additionally, you say:


    I know its not recognizing the /applications part of the line.


    How do you know this?


    Also realize that as far as the shell is concerned, /Applications is not the same as /applications. Case matters.

  • AppleJason Level 1 (10 points)



    worked for me.  Don't know why the first attempt didn't work - I thought I did this originally.  But this worked.

  • mattyod Level 1 (0 points)

    You have a whitespace character in your path, "/usr/bin/python /Applications/MyProg/myPythonProg.py".

  • Camelot Level 8 (46,675 points)

    So the upshot is that you weren't calling it properly. You need to add the -d switch (presumably to deamonize the process so that it continues to run once the calling process (your Automator action) has finished.