PDA

View Full Version : PyQt4 to Py3exe problem



WinchellChung
4th August 2007, 20:51
I have a simplistic "hello world" program using PyQt4 GPL ("test.py").
It runs fine when invoked from Python.

I make an executable utilizing Py2exe (http://www.py2exe.org/).
But when I try running the executable, it gives the following error:



Traceback (most recent call last):
File "test.py", line 2, in <module>
File "PyQt4\QtCore.pyc", line 12, in <module>
File "PyQt4\QtCore.pyc", line 10, in __load
ImportError: No module named _qt


I'm sure I'm making a simplistic amateur mistake somewhere.

I am using Window XP personal edition,
Python 2.5,
PyQt v4 GPL for Windows and Python v2.5
(PyQt-Py2.5-gpl-4.3.0-b1.exe),
Sip 4.7,
and Py2Exe 0.6.6
(py2exe-0.6.6.win32-py2.5.exe)

My Py2Exe setup script is:


from distutils.core import setup
import py2exe

setup(windows=[{"script":"test.py"}], options={"py2exe":{"includes":["sip"]}})


My application consists of two modules, the main is in
test.py, the rest is in test_ui.py

I invoke Py2Exe with the following line in the Windows Command Prompt:


c:\Python25\python setup.py py2exe

when in the directory containing test.py

In the Py2Exe script, I've tried replacing "sip" with "PyQt4",
which seems to have no effect.

Neither does changing the Py2exe setup script to


setup(console=['test.py'])

and invoking it with


c:\Python25\python setup.py py2exe --include sip

Does anybody have any idea what I am doing wrong?

jacek
4th August 2007, 23:05
Maybe per analogiam to this (http://www.py2exe.org/index.cgi/Py2exeAndPyQt) your should try:

setup(windows=[{"script":"test.py"}], options={"py2exe":{"includes":["sip", "_qt"]}})

WinchellChung
5th August 2007, 21:00
Maybe per analogiam to this (http://www.py2exe.org/index.cgi/Py2exeAndPyQt) your should try:

setup(windows=[{"script":"test.py"}], options={"py2exe":{"includes":["sip", "_qt"]}})
Yes, I had tried that. Py2Exe complains that it cannot find _qt.
I guess nobody here uses PyQt4 with Py2exe. Or it is a trade secret.

pedraocu
9th August 2007, 19:33
Try this:

from distutils.core import setup
import py2exe
setup(
windows = [{"script": "test.py"}],
options = {"py2exe":{"includes":["sip", "PyQt4._qt"]}}
)