包括資源最簡單的方法是將其指定爲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')),
]
來源
2012-10-30 19:21:05
jdi
你可以顯示你的setup.py嗎? – jdi
同時顯示您的.app包的一棵樹。很可能.png文件不在那裏,或者不在你期望的位置。 – abarnert