2021. 6. 9. 11:38ㆍpython
음.. 일단 구글링에서 나온..
# 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가 추가 되면서 잘 실행된다.
'python' 카테고리의 다른 글
[python] pymysql 설치, python mysql 연결 (0) | 2024.02.13 |
---|---|
[python, selenium, centos] 캡쳐 한글깨짐 처리 (0) | 2021.12.27 |
[python] pyinstaller chromedriver 콘솔창 제거 (0) | 2021.08.02 |
return _compile(pattern, flags).sub(repl, string, count) TypeError: expected string or bytes-like object (0) | 2020.07.01 |
[python] 파이썬 설치 (0) | 2020.03.26 |