0

I have some images in pyside dsktop application in resources folder. Here the setup.py file to make a exe file.(python setup.py py2exe)

The exe file works perfect, just image is not displaying. Is there any mistake in setup.py file?

from distutils.core import setup
from glob import glob
import py2exe

from distutils.filelist import findall
import matplotlib
import cv2
import numpy
import os

datafiles = [
        ("resources", glob('resources/*.*'))
]


datafiles.extend(matplotlib.get_py2exe_datafiles())


setup(
        console=['mainwindow.py'],
        #'file_resources': [bitmap_string[:-1]],

        options = {
                    'py2exe': {
                    'packages' : ['matplotlib'],
                    'dll_excludes': ['libgdk-win32-2.0-0.dll', 
                                     'libgobject-2.0-0.dll', 
                                     'libgdk_pixbuf-2.0-0.dll'],
                    r'includes': [r'scipy.sparse.csgraph._validation',
                                  r'scipy.special._ufuncs_cxx']
                                }
                    },
        zipfile = None,
        windows = [{
                    "script":"mainwindow.py",
                    "icon_resources":[(1, "tfr.ico")],

                    }],
        data_files = datafiles,
        )

I also tried following options in setup.py file.

"compressed": 2, "optimize": 2, "bundle_files": 1,

jatinkumar patel
  • 2,920
  • 21
  • 28

1 Answers1

1

I have added

datafiles.append(('imageformats', [
                'C:\Python27\Lib\site-packages\PySide\plugins\imageformats\qjpeg4.dll'
                ]))

in setup.py.

It will include qjpeg dll file which is necesary to display image file in exe.

from distutils.core import setup
from glob import glob
import py2exe

from distutils.filelist import findall
import matplotlib
import cv2
import numpy
import os

datafiles = [
        ("resources", glob('resources/*.*'))
]

**datafiles.append(('imageformats', [
                'C:\Python27\Lib\site-packages\PySide\plugins\imageformats\qjpeg4.dll'
                ]))**

datafiles.extend(matplotlib.get_py2exe_datafiles())


setup(
        console=['mainwindow.py'],
        #'file_resources': [bitmap_string[:-1]],

        options = {
                    'py2exe': {
                    'packages' : ['matplotlib'],
                    'dll_excludes': ['libgdk-win32-2.0-0.dll', 
                                     'libgobject-2.0-0.dll', 
                                     'libgdk_pixbuf-2.0-0.dll'],
                    r'includes': [r'scipy.sparse.csgraph._validation',
                                  r'scipy.special._ufuncs_cxx']
                                }
                    },
        zipfile = None,
        windows = [{
                    "script":"mainwindow.py",
                    "icon_resources":[(1, "tfr.ico")],

                    }],
        data_files = datafiles,
        )
jatinkumar patel
  • 2,920
  • 21
  • 28