2013-01-02 2 views
3

Я создаю исполняемый файл с помощью PyInstaller (v1.5) - также, я использую GUI2EXE, чтобы помочь мне. Мой сценарий требует файл иконки, расположенного в рабочем каталоге:Python PyInstaller и включить файл значков

icon_file = '\pics\myicon.ico' 

Когда я строй исполняемого файла, я хотел бы, чтобы не включать «рабочий каталог», а есть файл значок включены прямо в моем исполняемом файле , Есть ли способ сделать это?

Если это не так, я хочу, чтобы один файл (мой исполняемый файл) включал мой файл значков.

  1. Как создать один файл для включения файлов значков?
  2. Как обновить код сценария для правильного доступа к этому файлу значка?

Я также ищу, чтобы сделать это для любого файла изображения или даже файл данных ...

Спасибо!

ответ

4

Так, а не фактическая иконой распределенного исполняемый, вы смотрите в том числе значка или другое изображения, что ваш скрипт python откроет/прочитает с диска во время выполнения?

Дополнительные данные могут быть добавлены в ваш exe, а pyinstaller предоставляет способ доступа к нему во время выполнения. Этот вопрос показывает, как включить его в свой .spec, и ответ показывает, как получить к нему доступ с помощью вашего скрипта:

Bundling data files with PyInstaller (--onefile)

+0

Я видел этот вопрос и не совсем понял его, пока вы не расставили его просто и просто для меня! Спасибо - это сработало отлично! – mcfly

1

Я не очень хорошо знаком с GUI2EXE, но вы можете specify an icon file (прокрутите немного вниз для конкретных опций Windows/OS X) в командной строке, пока вы создаете спецификационный файл. Это установит его как значок приложения, и вам не придется распространять значок отдельно. Глядя на файл спецификации он генерирует, это добавляет значок аргумент в ехе так:

exe = EXE(pyz, 
      a.scripts, 
      [bunch of other arguments], 
      icon='\pics\myicon.ico') 
+0

но насчет значка в приложении? например, скажем, у меня есть растровое изображение, которое отображается на панели - изображение сохраняется в папке pics. как сохранить это изображение в pyinstaller И вызвать его в моем скрипте? – mcfly

+0

@mcfly Извините, неправильно поняли, что искали. В этом случае ответ Джейсона Вирса уместен. Или преобразование значка в файл Python, например, с помощью [img2py] (http://wxpython.org/docs/api/wx.tools.img2py-module.html). – ChrisC

+0

Моя ошибка в том, что было, вероятно, плохо сформулированным вопросом. Спасибо за понимание img2py! – mcfly