인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

major님의 프로필 이미지
major

작성한 질문수

남박사의 파이썬 기초부터 실전 100% 활용

파이썬 파일 배포하기

이미지가 onefile로 안들어간거 같아요

작성

·

4.7K

1

안녕하세요
강의 몇번씩 보고 있어요

pyautogui

exe만들려고하는데요

이미지가 함께 안들어가는거 같아요

onefile로 했는데요

답변 1

0

남박사님의 프로필 이미지
남박사
지식공유자

일단 pyinstaller 가 실행되는 방식을 이해하셔야 하는데.. pyinstaller 로 만들어진 실행파일은 최초 exe 실행시에 실행에 필요한 모든 파일을 임시폴더에 풀어낸 후에 실행됩니다. 이때 이 임시폴더는 실행시마다 경로가 달라집니다. 그 폴더를 우리가 접근할 수 있게 하기 위해 sys._MEIPASS 라는 변수가 선언되어 있습니다.

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)

따라서 위의 예시처럼 함수를 하나 작성해서 이미지에 접근해보시는것을 추천합니다.

PS. 이미지가 exe 안에 포함이 안된 경우라면 --add-data 옵션을 사용해보시는것도 추천합니다. 물론 --add-data 옵션을 사용했다하더라도 위의 함수를 사용해야 합니다.

https://pyinstaller.readthedocs.io/en/stable/spec-files.html?highlight=--add-data#adding-data-files

major님의 프로필 이미지
major

작성한 질문수

질문하기