Building executables with pyinstaller
EVA uses pyinstaller to freeze the python project into an executable which contains all requirements and
dependencies needed to run. (This is why having a c++ compiler installed is needed). The EVA.spec
file specifies all the settings
and parameters we want for the executable. Pyinstaller has two different modes it can use when creating the
executable, either a single executable (one-file mode) or a folder containing the executable and some dependencies
(one-folder mode). This project uses the one-folder mode, as it is easier to debug.
To build the executable, you just need to run
pyinstaller EVA.spec
which will generate the executable under dist/main/EVA.exe
.
Pyinstaller will produce an executable type depending on the platform the pyinstaller command is ran on. Building with pyinstaller has only been tested for Windows, but it should work for MacOS and Linux too.
Automatically building executables
There is a github action set up to automatically run pyinstaller every time a new pull request is made (under .github/workflows). To get the latest executable after a pull request, you can download it from the actions tab.