I need to install a python application (python + wxWidgets GUI) to end users computers. I need an application to be in the Dock and start like any other application - with light "started" indicator, click-is-focus etc. However OS X prevents me from dragging the python script to dock - seems it thinks that python script is not an executable :(. When I drag a python script into "documents" section of dock it just don't start when clicked - an empty terminal opens, the python launcher opens for a few seconds and then nothing happens.

Using: Mac OS X 10.5.7

Is there any way to put a python application into the Dock?


You can use py2app to create MacOS apps from Python scripts.


For the Dock in Mac OS X to think your application is a true Mac OS X application it needs to be an application bundle. Alternatively have you tried running it with a .command file instead? A user double clicks on the .command file and it will execute the instructions in Terminal - which may fix the issue you have but from your question I'm not sure why it would not be running correctly.

With the application in question have you looked at a modification to use py2app

Additionally, what about Platypus? If your script is making the app GUI after the fact or on it's own it may work. Just set Platypus to not show a GUI itself. (EDIT: Sorry - I forgot to mention this one originally)

  • The .command trick works, but it leaves parasitic terminal window at desktop. End users normally are not happy if they see some terminal windows running :). py2app seems like a solution, but it's very heavyweight: a lot of actions to do in order to perform a simple task :(. As i can see, where is no "wasy way" to run python app on MacOS? On windows i can just rename .py into .pyw and application will run as any normal windows application :( – grigoryvp Jun 1 '09 at 8:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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