[pyinstaller] 이미지 추가

2021. 6. 9. 11:38python



336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

음.. 일단 구글링에서 나온..

 

# Resource
def resource_path(relative_path):
try:
# PyInstaller에 의해 임시폴더에서 실행될 경우 임시폴더로 접근하는 함수
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)

 

이미지 경로 찾는 함수

 

-F 옵션 등의 이유로 onefile.exe로 생성된 python 결과물은

실행 될때에 임시폴더에서 파일이 실행 되는 구조

 

-F 대신 -D를 주면 잘 된다.

 

.spec 파일을 직접 수정해서 pyinstaller 실행해보라는 글도 봤는데..

pyinstaller을 실행하면 .spec 파일이 자동 수정 되던데.. 이걸 어찌 하는건 아직 모르겠구

 

위 함수를 토대로 소스내에서

self.setWindowIcon(QIcon(Lib.resource_path('icon.png')))

 

뭐 이런식으로 경로 바꿔주고, 따로 실행해서 잘열리나 확인 후

 

pyinstaller -w -F --icon="resource/ico.ico" --add-data="resource/*;resource" TEST.py

 

(난 resource 폴더에 몰아두었다..)

 

라고 실행하면

 

TEST.spec 파일에

datas=[('resource/*', 'resource')],

 

해당 text가 추가 되면서 잘 실행된다.