comparing alternatives to py2exe
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Mon Nov 9 21:16:40 EST 2009
En Fri, 06 Nov 2009 17:00:17 -0300, Philip Semanchuk
<philip at 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
More information about the Python-list
mailing list