ing*_*sun 1 python wxpython py2app
我想从我的Python源代码创建一个.app文件.我的Python源代码是wxPython,有11个图像文件(.png,大小为32x32)
使.app成功,但它不包括我的图像文件,它只显示错误消息
no bitmap handler for types 50 defined.
细节...
Can't load image from file...
即使在同一目录中,它仍然显示此错误消息.
我正在使用py2app,python 2.7并且wxPython在MacOSX 10.6.7上
如何使用我的图像文件制作.app?
包括资源最简单的方法是将其指定为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'],
)
Run Code Online (Sandbox Code Playgroud)
<app.app>/Contents/Resources将是所有数据的当前目录和资源根.这会将images/项目目录放在资源根目录中.
如果您只想包含images/目录中的特定文件,可以告诉它如何映射:
DATA_FILES = [
('images', ['images/picture.jpg', 'images/picture2.png']),
('images/icons', ['images/icons/ico1.ico'])
]
Run Code Online (Sandbox Code Playgroud)
或者你可以得到更好的说"只包括我的图像目录中的所有jpegs":
from glob import glob
...
DATA_FILES = [
('images', glob('images/*.jpg')),
]
Run Code Online (Sandbox Code Playgroud)