2012-03-30 2 views
5

Temp 디렉토리에 이미지 데이터가 포함되도록 012installer의 Makespec.py으로 만든 파일을 수정하는 방법을 알고 있습니까? 내 exe에 아이콘을 추가 할 수 있기를 원합니다. 나는 here이라고 쓰여졌지만, 단지 내 데이터를 .spec에 추가하는 방법을 모른다.Pyinstaller의 .spec 파일에 이미지 추가

내가 .spec 파일의 끝이 줄을 추가 해요 :

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

답변

7

여기 내 사양 파일 (Collector.spec)은 "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') 

단지 pyz 변수 위의 라인 "a.datas += .... " 내 GUI 응용 프로그램의 다양한 창에 표시됩니다 이미지를 PNG로 경로를 보유하고 있습니다. "icon=...." 변수는 exe 변수에 설정되어 있으며 Windows 바탕 화면에 바탕 화면 아이콘으로 표시 할 ico 이미지의 경로를 포함합니다.

주 프로그램에서 here이 수행 한 작업을 사용할 수 있습니다 (Collector.py, 나를 위해). 여기

내가 Max의 코드를 사용했습니다 내 스크립트 Collector.py의 조각입니다 : 이제

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

, 내가 pyinstaller Collector.spec를 실행할 때, 나는 바탕 화면 아이콘과의 아이콘 모두가 내 수집기 응용 프로그램 창.

희망이 도움이됩니다.

2

이 실행에 아이콘을 추가하려면 다음 사용해야합니다 :

python Makespec.py --icon=<FILE.ICO> yourprogram.py 

를 또는, 사양 파일

icon=<FILE.ICO> 

이 의지 광고에 exe = EXE(...)에 직접 다음을 추가 할 수 있습니다 d는 file.ico를 실행 파일의 리소스 (Windows에만 해당)에 적용하면 응용 프로그램 아이콘으로 표시됩니다. 당신이 사용하는 a.datas append는 sys._meipass을 통해 응용 프로그램 내에서 액세스 할 수있는 내부 리소스에 아이콘을 추가합니다. 이를 사용하여 예를 들어 기본 창 상단에 아이콘을 추가 할 수 있습니다.

+0

고마워요.하지만 실행 파일의 왼쪽 상단에 나타나는 창 아이콘에 대해 이야기하고있었습니다. 미안해, 내 설명에 불명확하다. 어쨌든, 나는이 질문에서 답을 사용하여 그것을 해결했다. [link] (http://stackoverflow.com/questions/9929479/embed-icon-in-python-script) – maupertius

0

이 줄은 a = Analysis(...)pyz = PYZ(a.pure) 줄 사이에 추가해야합니다.