En Fri, 06 Nov 2009 17:00:17 -0300, Philip Semanchuk <phi...@semanchuk.com> escribió:
On Nov 3, 2009, at 10:58 AM, Jonathan Hartley wrote:

Recently I put together this incomplete comparison chart in an attempt
to choose between the different alternatives to py2exe:

http://spreadsheets.google.com/pub?key=tZ42hjaRunvkObFq0bKxVdg&output=html

I was interested in py2exe because we'd like to provide a one download, one click install experience for our Windows users. I think a lot of people are interested in py2exe for the same reason. Well, one thing that I came across in my travels was the fact that distutils can create MSIs. Like py2exe, MSIs provide a one download, one click install experience under Windows and therefore might be a replacement for py2exe.

But py2exe and .msi are complementary, not a replacement.
py2exe collects in one directory (or even in one file in some cases) all the pieces necesary to run your application. That is, Python itself + your application code + all referenced libraries + other required pieces. The resulting files must be installed in the client machine; you either build a .msi file (a database for the Microsoft Installer) or use any other installer (like InnoSetup, the one I like).

For me, the following command was sufficient to create an msi, although it only worked under Windows (not under Linux or OS X):
python setup.py bdist_msi

The resulting MSI worked just fine in my extensive testing (read: I tried it on one machine).

The resulting .msi file requires Python already installed on the target machine, if I'm not mistaken. The whole point of py2exe is to avoid requiring a previous Python install.

It seems, then, that creating an MSI is even within the reach of someone like me who spends very little time in Windows-land, so it might be worth a column on your chart alongside rpm/deb.

As said in http://wiki.python.org/moin/DistributionUtilities the easiest way is to use py2exe + InnoSetup.

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to