To create executable files (windows) I assume that we should use one of them: Py2exe or PyInstaller.
What are the difference between them?
There is a fork of py2exe that is being actively developed to support ongoing versions of Python, https://github.com/albertosottile/py2exe, currently at v0.9.3.2 which works with Python 3.7.
I've used it on a small project and it works as expected, producing a working executable. Download the correct version from the releases page and install with pip
.
Update 2020-11-06:
As per LolPython's comment, this fork now redirects to the official repo so use that instead:
https://github.com/py2exe/py2exe
Py2exe and PyInstaller both are wrappers but here are few differences that I noticed,
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.
From the message of the wikipedia,py2exe is not active for long time :
Stable release: 0.9.2.2 for Python 3 /; 21 October 2014; 0.6.9 for Python 2 /; 15 November 2008
So I advise to use the pyinstaller.....
But now the pyinstaller also meet the problemThe offical website of pyinstaller:
Help keeping PyInstaller alive: Maintaining PyInstaller is a huge amount of work. PyInstaller development can only continue if users and companies provide sustainable funding. See Funding PyInstaller for how to support PyInstaller.