[Python-Dev] Single-file Python executables (was: Computed Goto dispatch for Python 2)

Donald Stufft donald at stufft.io
Thu May 28 18:54:49 CEST 2015

On May 28, 2015 at 12:24:42 PM, Chris Barker (chris.barker at noaa.gov) wrote:
> I'm confused:
> Doesn't py2exe (optionally) create a single file executable?
> And py2app on the Mac creates an application bundle, but that is
> more-or-less the equivalent on OS-X (you may not even be able to have a
> single file executable that can access the Window Manager, for instance)
> Depending on what extra packages you need, py2exe's single file doesn't
> always work, but last I tried, it worked for a fair bit (I think all of the
> stdlib).
> I don't know what PyInstaller or others create. And I have no idea if there
> is a linux option -- but it seems like the standard of practice for an
> application for linux is a bunch of files scattered over the system anyway
> :-)
> Yes, the resulting exe is pretty big, but it does try to include only those
> modules and packages that are used, and that kind of optimization could be
> improved in any case.
> So is something different being asked for here?

All of those solutions “work” to varying degrees of work, almost all of them rely
on hacks in order to make things “work” because the ability to do it isn’t built
into Python itself. If the critical pieces to execute in this way was built into
Python itself, then those tools would work a whole lot better than they currently

> Barry Warsaw wrote:
> >> I do think single-file executables are an important piece to Python's long-term
> competitiveness.
> Really? It seems to me that desktop development is dying. What are the
> critical use-cases for a single file executable?

The desktop isn’t dying, Mobile is becoming a very important thing of course,
but that’s just because people are using devices *more* to account for the
use of Mobile, they aren’t really using their Desktop’s less.

See: http://blogs.wsj.com/cmo/2015/05/26/mobile-isnt-killing-the-desktop-internet/

> And I'd note that getting a good way to use Python to develop for iOS,
> Android, and Mobile Windows is FAR more critical! -- maybe that's the same
> problem ?

It’s not the same problem, but it’s also not very relevant. Volunteer time isn’t
fungible, you get what people are willing to work on regardless of whether it
will help Python as a whole. It’s also not an either/or proposition, we can both
improve our ability to develop under iOS/Android/etc and improve our ability to
handle desktop applications.

Donald Stufft
PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

More information about the Python-Dev mailing list