How to specify py2app icon?

11,091

Answering my own question.

To add an icon file simply add the iconfile option when creating setup.py:

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

Note: You must not leave the icon.icns under the same folder as your main script foo.py. It must be placed under a subfolder like images/, otherwise you'd end up with DATA_FILE=['--iconfile'] in your setup.py, which would fail because that's not a data file.

Share:
11,091

Related videos on Youtube

Grahame Thomson
Author by

Grahame Thomson

Updated on June 06, 2021

Comments

  • Grahame Thomson
    Grahame Thomson almost 3 years

    How do I specify the icon file when using py2app?

    Just now I create the setup file:

    py2applet --make-setup MyApplication.py
    

    and then build the application bundle:

     python setup.py py2app -A
    

    where is it that I specify the icon file.. getting a little confused. Thanks for any help.

    according to this link- http://packages.python.org/py2app/options.html, I should add it as an option.

    Currently my setup.py file looks like this:

    """
    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'],
    )
    
  • Sheldon
    Sheldon about 13 years
    make sure the icon you are using is compatible - editing the extension of the file will not achieve this. Download a convertor such as macupdate.com/app/mac/18369/img2icns