chriskiehl / Gooey

Turn (almost) any Python command line program into a full GUI application with one line
MIT License
20.66k stars 1.02k forks source link

PyInstaller generated executable does not 'Start' #194

Open saifulbkhan opened 7 years ago

saifulbkhan commented 7 years ago

Hello,

Your work is much appreciated. The python scripts work like a charm for my purposes. However, when I try to build my app and run the executable generated by PyInstaller I'm only able to get as far as the initial GUI window.

Not sure if its just me, the 'Start' button that's supposed to actually run the app doesn't do anything. The 'Cancel' button works fine and prompts before quitting. I tried replacing my app with one of the examples from the examples repo and they too did not react on clicking the 'Start' button when packaged into an executable. I followed the exact instructions on this page. Even went as far as using the same PyInstaller version linked there, but to no avail. :(

I tried building with debug=True in the build.spec file. But there was no debug output on clicking the 'Start' button either.

Please guide me if you think I'm doing something wrong or if there's a way to debug this.

Thanks

saifulbkhan commented 7 years ago

I ended up getting my executable working by building with console=True option in my build spec. I'm not sure if I should close the issue, but I'll wait a few days to see if contributors feel this needs any attention.

chriskiehl commented 7 years ago

We can leave it open. PyInstaller can be a pain sometimes.

Do you have a code sample that can reproduce the issue?

UtkarshKunwar commented 7 years ago

I had the same problem and I've spent the past 6 hours reading about PyInstaller here and there trying to figure out what could've been wrong, changing paths, reinstalling dependencies and what not. To think a simple console=True would have temporarily fixed it. Thanks @saifulbkhan ! Hope it gets a fix soon!

jugge83 commented 6 years ago

I have an issue with a pyinstaller compiled executable and it may be related. The error should be fairly repeatable. Whenever I try to print a non-ascii character (åäö) from python the gooey execution window freezes.
The application is compiled under py36 and I have tested both with and without flushing in the print statement. I have verified that the encoding is utf-8 both in the string and the system encoding. Edit: os is win 10.

palferenc commented 3 years ago

I had a similar issue on Win10, py36 and non-ascii characters: my app worked well before bundling it with pyinstaller, but stopped mid-execution when running the frozen (pyinstaller-budled) version.

My solution/workaround was to force the encoding to CP1252 with encoding='cp1252' gooey parameter.

The problem may be a consequence of the PEP529, i.e. since py36 the WIN console default encoding is utf-8, but somehow when using pyinstaller it switches back to CP1252. (Just guessing)