我想从我的Python源代码创建一个.app文件。我的Python源代码是wxPython,有11个图像文件(.png,大小为32x32)
使.app成功,但它不包含我的图像文件,只显示错误信息
no bitmap handler for types 50 defined.
详细...
Can't load image from file...
即使在同一目录中,它仍然显示此错误消息。
我在MacOSX 10.6.7上使用py2app
,python 2.7
和wxPython
如何使用我的图像文件创建.app?
答案 0 :(得分:6)
包含资源的最简单方法是在data_files
setup.py
from setuptools import setup
APP = ['app.py']
DATA_FILES = [('', ['images'])]
OPTIONS = {'argv_emulation': True}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
<app.app>/Contents/Resources
将是所有数据的当前目录和资源根。这会将项目的images/
目录放在资源根目录中。
如果您只想包含images/
目录中的特定文件,可以告诉它如何映射:
DATA_FILES = [
('images', ['images/picture.jpg', 'images/picture2.png']),
('images/icons', ['images/icons/ico1.ico'])
]
或者你可以变得更加高兴并且说“只包括我图像目录中的所有jpeg”:
from glob import glob
...
DATA_FILES = [
('images', glob('images/*.jpg')),
]