如何指定py2app图标?

12 投票
3 回答
13707 浏览
提问于 2025-04-16 15:25

我该如何在使用py2app时指定图标文件呢?

我刚刚创建了设置文件:

py2applet --make-setup MyApplication.py

然后构建应用程序包:

 python setup.py py2app -A

我应该在哪里指定图标文件呢……有点困惑。谢谢大家的帮助。

根据这个链接 - http://packages.python.org/py2app/options.html,我应该把它作为一个选项添加。

目前我的setup.py文件看起来是这样的:

"""
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""

from setuptools import setup

APP = ['hello.py']
DATA_FILES = ['chalkboard.jpg']
OPTIONS = {'argv_emulation': True,
'iconfile': '/Users/grahamethomson/Documents/College/HND/oop/game/personal       developoment/G/icon.icns'}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

3 个回答

1

这些解决方案在我用python3的时候都没用。--iconfile这个选项总是报错,说找不到文件。其实这个选项根本就不需要。这样做就可以了。

py2applet --make-setup MyApplication.py myicon.icns
python3 setup.py py2app

只要把图标放在和源代码同一个文件夹里,这样就能达到你想要的效果。这个信息可以在py2applet的帮助文档里找到。

9

我来回答我自己的问题。

要添加一个图标文件,只需要在创建setup.py的时候加上iconfile这个选项:

py2applet --make-setup foo.py --iconfile images/icon.icns

注意:你不能把icon.icns放在和主脚本foo.py同一个文件夹里。它必须放在一个子文件夹里,比如images/,否则在你的setup.py里就会出现DATA_FILE=['--iconfile'],这样会失败,因为这不是一个有效的数据文件。

26

在你的setup.py文件中,添加图标文件

"""
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""

from setuptools import setup

APP = ['main.py']
DATA_FILES = []
OPTIONS = {
    'iconfile':'icon.icns',
    'plist': {'CFBundleShortVersionString':'0.1.0',}
}

setup(
    app=APP,
    name='MacApp',
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

撰写回答