Reputation: 273416
I have a standard setup script for py2exe with which I bundle PyQt-based applications into Windows .exe files.
Today I tried a simple script that uses the PyQwt module, and it doesn't seem to work. py2exe runs alright, but when I execute the .exe it creates, it dumps the following into a log file and doesn't run:
Traceback (most recent call last):
File "qwt_test.pyw", line 5, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "PyQt4\Qwt5\__init__.pyo", line 32, in <module>
File "zipextimporter.pyo", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading PyQt4\Qwt5\Qwt.pyd
When I look in PyQt4\Qwt5\
in the build\bdist.win32\winexe\collect-2.5
directory, Qwt.pyd
is definitely there.
I can't seem to find anything useful online regarding this error. What could cause it? Thanks.
Upvotes: 2
Views: 1514
Reputation: 116137
Some options:
bundle_files options
(3, 2, 1) (especially if you put them all in one big library zip, some dlls don't like that).msvcp71.dll
exists under windows\system32 or in the directory of your executable.dll_excludes
option and (after building) copy Qwt.pyd (and _Qwt.pyd if it exists) to your executable path.Upvotes: 1
Reputation: 881595
py2exe is not the only way, and maybe not the best way, to put together exe files for Python apps -- in particular, it hardly if at all supports pyqt. Please, I beseech you, check out PyInstaller, which DOES know about PyQt (and Linux, and Mac, should you care...) -- just make sure you use the SVN head checkout, not the "released" version, which at this time is seriously out of date (an issue that's hopefully going away soon...).
Upvotes: 4