Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Max OS X. When I double-click on a python script it opens in the default editor. How might I make it so that when I double-click, or choose the script from Applications, it executes from the python interpreter? From the "open with" option it does not appear that I can choose /usr/bin/python.

share|improve this question
up vote 4 down vote accepted
  1. Start up Automator
  2. Choose application
  3. In the Actions bar, select Library, and search for Shell
  4. Drag "Run Shell Script" to the right pane.
  5. Change pass input to "as arguments"
  6. Change the script to

    for f in "$@" do python "$f" done

  7. Save it (possibly in the application folder, but can be anywhere) as

Now if you want .py files to always launch with python:

  1. Select a .py file
  2. File -> Get Info
  3. In the Open with selection, choose Other, and select the you created.
  4. Click Change All
share|improve this answer
Great. Thanks much for your assistance. – Charlie Wilson May 9 '13 at 9:31
Joined just so I could upvote this. – ArtOfWarfare Jul 24 '13 at 12:50
:-/ unfortunately it's simply not working... I have no idea why. Any step having python run a script simply has automator say the Run Shell Script failed, with no description of what went wrong. – ArtOfWarfare Jul 24 '13 at 13:17
step 6 of the accepted answer needs to be formatted correctly to work for f in "$@" do python "$f" done – fwiffo Apr 23 at 6:53

Seems like it would be easier to just fire up the terminal and type "python /path-to-script/scriptname"? If not, there's apparently a way to get Apple script to do this, according to this stack overflow post:

In either case, you'll need to know the full path to the script.

share|improve this answer
For the problem I am trying to solve it isn't easier but yes, I could execute the script from the terminal. Thanks for the info. – Charlie Wilson May 9 '13 at 4:49

I suggest you install the latest version of Python (not the one installed on Mac OS X as of Mountain Lion). It includes PythonLauncher that does just what you want.

  1. Install the latest version of Python (download)
  2. Run "Update Shell Profile.command" (in Applications/Python 2.7) to make sure python is in your shell's PATH
  3. Select a .py file
  4. File -> Get Info
  5. In the Open with selection, choose Other, and select the PythonLauncher app (in Applications/Python 2.7)
  6. Click Change All
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.