Building executables for Python 3 and PyQt
py2exe, pyinstaller, pyqt4, python-3.x
Solution
You can fix this by appending one line of code to freeze.py in your cx_Freeze package.
It is described here: http://www.mail-archive.com/cx-freeze-users@lists.sourceforge.net/msg00212.html
It worked for me at least :)
Cheers, Almar
Problem
I built a rather simple application in Python 3.1 using PyQt4. Being done, I want the application to be distributed to computers without either of those installed. I almost exclusively care about Windows platforms, so my goal is to have a single executable file and maybe some resource files and .dlls in the end. Having searched around, I came to the conclusion that - py2exe only supports Python up to version 2.7 - pyinstaller only supports Python up to version 2.6 - cx_Freeze does not work for me because I keep on getting the following error when trying to execute my successfully build binary: ``` Y:\Users\lulz\build\exe.win32-3.1>system_shutdown.exe Traceback (most recent call last): File "Y:\Program Files (x86)\Python\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 27, in exec(code, m.__dict__) File "Y:/Users/lulz/Documents/Coding/Python3/projects/System Shutdown/system_shutdown.pyw", line 5, in from PyQt4 import QtCore File "ExtensionLoader_PyQt4_QtCore.py", line 16, in AttributeError: 'NoneType' object has no attribute 'modules' ``` So my problem is basically two problems here: - Is there another way but cx_Freeze to build binaries with my configuration? - If not, what might the cx_Freeze problem be? I can provide more information on the second problem if necessary, like my call of cx_Freeze, my distutils setup script etc. Thank you already for your help and comments.