Añadir imagen al archivo .spec en Pyinstaller

¿Alguien sabe cómo modificar el archivo .spec creado con Makespec.py de Pyinstaller para que incluya datos de imagen en el _MEIPASS2 temporal _MEIPASS2 ? Quiero poder agregar un ícono a mi exe. He hecho lo que está escrito aquí , pero no sé cómo agregar mis datos en .spec .

Estoy agregando esta línea al final del archivo .spec :

 a.datas += [('iconName.ico','DATA','C:\\Python26\\pyinstaller-1.5.1\\iconName.ico')] 

Aquí está mi archivo de especificaciones ( Collector.spec ) que usé para un progtwig Python simple llamado "Collector.py" .

 # -*- mode: python -*- a = Analysis(['Collector.py'], pathex=['C:\\Users\\vijay\\Python\\Collector'], hiddenimports=[], hookspath=None, runtime_hooks=None) a.datas += [('logo.png','C:\\Users\\vijay\\System\\icon\\logo.png','DATA')] pyz = PYZ(a.pure) exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, name='Collector.exe', debug=False, strip=None, upx=True, console=False , icon='C:\\Users\\vijay\\System\\icon\\logo.ico') 

La línea "a.datas += .... " justo encima de la variable pyz contiene la ruta a la imagen png que se mostrará en varias ventanas de mi aplicación GUI. La variable "icon=...." establecida dentro de la variable exe, mantiene la ruta a la imagen ico que se mostrará en el escritorio de Windows como el ícono del escritorio.

Ahora puede usar lo que Max ha hecho aquí en su progtwig principal ( Collector.py , para mí).

Aquí hay un fragmento de mi script Collector.py , donde he utilizado el Código de Max :

 path = self.resource_path("logo.png") icon = wx.Icon(path, wx.BITMAP_TYPE_PNG) self.SetIcon(icon) 

Ahora, cuando ejecuto pyinstaller Collector.spec , tengo un ícono del escritorio y un ícono para las ventanas de la aplicación del recostackdor.

¡Espero que esto ayude!

Para agregar un ícono al ejecutable, debe usar lo siguiente:

 python Makespec.py --icon= yourprogram.py 

O, puede agregar lo siguiente directamente a exe = EXE(...) en el archivo de especificaciones

 icon= 

Esto agregará el archivo.ico a los recursos del ejecutable (solo Windows), y se mostrará como el ícono de la aplicación. El anexo a.datas que está utilizando agregará un icono a los recursos internos a los que se puede acceder dentro de la aplicación a través de sys._meipass . Puede usar esto para agregar un ícono en la parte superior de la ventana principal, por ejemplo.

Esta línea se debe agregar entre las líneas a = Analysis(...) y pyz = PYZ(a.pure) .