Monthly Archives: January 2010

The burden of python deployment

Sorry for a grouchy new years post , but I figured I will attempt to get started blogging for the year with this post. I had authored this post a while back ( October 09) when I struggled with deployment of a python app. Much of what I talk about still holds true. Indeed python deployment remains a problem with many solutions , and therefore quite painful since there is still no sure shot way to deploy a python app across platforms.

Its been almost three weeks since I released my maiden python-wxpython app. While Ive been busy doing other things , I decided to write this post to say how painful the “deployment” process of writing an application has been.
The most ironic fact is that the easiest platform to deploy for has ironically been Windows.
Once I used py2exe and innosetup I had a working setup.exe that installed the app on Windows Xp and Vista , 32 and 64 bit.
The next most fun platform to create a deplyment target for was linux. It was almost trivial to use the cxfreeze to create a binary build for Ubuntu Linux 32 bit and 64 bit . With the help of a Virtualbox VM for 64 bit SUSE, I could even release a binary build for that platform because someone asked.

But thats when the fun ended!. The mac has been an extremely painful platform to deploy python application for!.
I am using py2app to create standalone binaries. The idea is to have an app that I can click on and have it launch on any mac.
Some interesting hurdles:
1) If you create a standaone py2app build on Leopard it is not guaranteed to work on tiger
2) If you create one on Leopard it definitely does not work on snow leopard.

The only solution is to create a standalone app on tiger and then maybe it will work on Leopard.

In the end I did manage to solve my mac deployment issues which I detailed on this wiki page. Also Chris Lasher Lasher pointed me onto his series of links which talk about python deployment, Ian Bickings response is specially worth noting.