Skip to content Skip to sidebar Skip to footer

Pyqt Jpeg Support Not Working In Bundled Form

To enable jpeg support in a PyQT application, you have to manually include the qjpeg4.dll. It works fine when the dll and pyd file are not bundled together in the final exe. For ex

Solution 1:

I've got the same problem, As I know, py2exe has provided the clue: http://www.py2exe.org/index.cgi/Py2exeAndPyQt

It reads: ......so you'll need to copy the folder PyQt4\plugins\imageformats to \imageformats. ....... This won't work with bundle_files on. ... *This will work with bundle_files as well, but you need to exclude the Qt DLLs from bundle (using the dll_excludes option) and add them to the directory with the executable through some other mechanism (such as data_files).*

following is my setup options, like this:

    zipfile=None,
    options = { "py2exe" :{
                           "compressed":1,
                           "includes": my_includes,                           
                           "packages": my_packages,
                           "optimize":2,
                           "bundle_files":1,
                           "dll_excludes":["QtCore4.dll","QtGui4.dll","QtNetwork4.dll"]
                           }}

So the dist folder consists these files (in my case):

  • imageformats (folder, include qt plugin dll to deal with images)
  • QtCore4.dll
  • QtGui4.dll
  • QtNetwork4.dll
  • MyExeFile.exe
  • w9xpopen.exe

that's all

Solution 2:

Try adding pyqt4 as a package to force py2exe to include everything from PyQT in your build, like this:

options={"py2exe":{
        "includes":["sip"],
        "excludes":MODULE_EXCLUDES,
        "packages":["PyQt4"],
        "bundle_files":1,
        "compressed":False,
        "xref":True}}

Post a Comment for "Pyqt Jpeg Support Not Working In Bundled Form"