728x90
728x90
Pyinstaller로 패키징할 때 환경 변수 파일(.env) 인식 안되는 문제 해결 방법
들어가며
- Pyinstaller를 사용하여 실행 파일(
.exe
)로 패키징 할 때, 환경 변수 파일(.env
) 인식이 안되는 문제를 해결하는 방법을 정리해본다.

방법
- 기본적으로 파이썬(Python)에서 환경 변수 파일(
.env
)의 내용을 불러오려면dotenv
패키지를 사용해야 한다. dotenv
패키지에 대한 자세한 내용은 아래의 글을 참고한다.
[Python] .env 파일 다루는 방법
.env 파일 다루는 방법들어가며파이썬(Python)에서 .env 파일을 다루는 방법을 정리해본다. .env 파일개념키(Key)-값(Value) 쌍으로 환경 변수를 정의하는 간단한 텍스트 파일이 파일을 사용하면
dev-astra.tistory.com
환경 설정 파일(.env
)의 경로 명확히 지정하기
- 환경 변수 파일을 불러오는 코드에 아래의 코드를 추가한다.
import os from dotenv import load_dotenv # 현재 실행 파일의 위치를 기준으로 경로 설정하기 base_dir = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__))) dotenv_path = os.path.join(base_dir, '.env') # .env 파일 불러오기 load_dotenv(dotenv_path)
⇒ sys._MEIPASS
는 Pyinstaller로 패키징한 후, 임시 폴더에서 실행되는 파일 경로이다.
⇒ 이 방식으로 .env
파일이 패키징된 실행 파일(.exe
)에서 정확한 경로로 환경 변수를 불러올 수 있다.
.env
파일을 포함하여 패키징하기
--add-data ".env;."
속성을 추가하여, 패키징을 할 때.env
파일을 포함하도록 한다.
$ pyinstaller --add-data ".env;." main.py
728x90
728x90
'Programming > Python' 카테고리의 다른 글
[Python] print 문 출력 문자에 색깔 넣는 방법 (ANSI Escape Code) (1) | 2024.11.29 |
---|---|
[Python] loc, iloc 차이점 비교 (Pandas) (0) | 2024.11.22 |
[Python] 환경 변수 파일(.env) 다루는 방법 (0) | 2024.09.27 |
[Python] try-except 문 사용할 때 에러 발생 시, 전체 에러 정보 표시 방법 (2) | 2024.09.07 |
[Python] 데이터 전처리 할 때 결측값 제거 방법 (Pandas) (1) | 2024.06.21 |
[Python] or 연산자와 | 연산자의 차이 (0) | 2024.05.29 |
[Python] self (0) | 2023.11.29 |
[Python] ORM(Object Relational Mapping) 라이브러리 사용해보기 (SQLAlchemy) (0) | 2023.11.14 |