Python executables: py2exe or PyInstaller?

Py2exe and PyInstaller both are wrappers but here are few differences that I noticed,

  1. Py2exe is compatible with python2.4+ including python3.0 & 3.1 whereas PyInstaller is currently, compatible with python 2.7 and 3.3–3.5
  2. As far I know, Py2exe didn’t support signing whereas Pyinstaller has support for signing from version 1.4
  3. In PyInstaller it is easy to create one exe, By default both create a bunch of exes & dlls.
  4. In py2exe its easier to embed manifest file in exe, useful for run as administrator mode in windows vista and beyond.
  5. Pyinstaller is modular and has a feature of hooks to include files in the build that you like. I don’t know about this feature in py2exe.

Hope this helps you in your decision making.

[Update] – It looks like PyInstaller is actively developed (https://github.com/pyinstaller/pyinstaller/) and released. py2exe is still using sourceforge and its release cycle is very random on pypi there is no build after 2014 and their code show development in 2017 as well (https://sourceforge.net/p/py2exe/svn/HEAD/tree/trunk/py2exe-3/py2exe/). So, I recommend using pyinstaller till the time py2exe stabilizes its release cycle in favor of developers.

Leave a Comment