py2exe在pyside exe文件中不显示图像

时间:2014-12-25 05:09:39

标签: python pyqt pyside py2exe

我在资源 文件夹中的pyside dsktop应用程序中有一些图像。这里是生成exe文件的setup.py文件。(python setup.py py2exe)

exe文件工作正常,只是图像不显示。 setup.py文件中有错误吗?

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,
        )

我还尝试了setup.py文件中的以下选项。

"压缩":2, "优化":2, " bundle_files":1,

1 个答案:

答案 0 :(得分:1)

我添加了

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

它将包含qjpeg dll文件,这是在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,
        )