Why can I not open my Python app after converting to .exe?

Your problem occurs likely because ZipCodeDatabase tries to load a database that is not included by PyInstaller. You'll need to find out what file it is trying to open and modify the configuration of PyInstaller to include that non-code file. PyInstaller is pretty good at finding all the code it needs to include, but data and binaries are often missed.

From the pyzipcode documentation: "This package will allow you to get zip code information. The data used in this package can be retrieved from " - you should either include the file you downloaded yourself, or have your code check if the data is available and if it isn't, download it from the code before opening the database.