我在资源 文件夹中的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,
答案 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,
)