包含资源的最简单方法是将它们指定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')),
]