Traceback (most recent call last): File "python\mirae_ceiling_ver01.py", line 76, in <module> UnicodeEncodeError: 'locale' codec can't encode character '\ub144' in position 2: encoding error [18480] Failed to execute script 'mirae_ceiling_ver01' due to unhandled exception!
pyinstaller --add-data "data;data" --add-data "excel;excel" --add-data "dimstyle;dimstyle" --noconfirm mirae_ceiling_ver01.py
컴파일에서 자료를 만들었는데...
결국 날짜를 만드는 부분에서 문제가 있었다.
한시간 넘게 이 오류가 시름했네요~
쳇gpt로 문의하니.. 이런답변...
해결 방법컴파일러 설정 검토: 사용 중인 컴파일러의 문서를 확인하여, 필요한 모든 옵션과 설정이 제대로 적용되었는지 확인합니다.인코딩 설정 명시: 스크립트 내에서 파일을 열 때 명시적으로 인코딩을 지정해보세요. 예를 들어, open(file, encoding='utf-8')과 같이 사용합니다.로케일 설정 확인: 실행 파일을 실행하는 시스템의 로케일 설정이 UTF-8을 지원하는지 확인합니다.디버깅 정보 활용: PyInstaller와 같은 컴파일러는 종종 로그나 디버깅 정보를 제공합니다. 이 정보를 사용하여 문제의 원인을 찾습니다.의존성 포함 검토: 컴파일러가 모든 필요한 의존성(라이브러리, 파일 등)을 포함하고 있는지 확인합니다.문제의 정확한 원인을 파악하기 위해서는 실행 파일이 생성되는 환경과 VSCode에서의 실행 환경을 비교 분석해야 할 필요가 있습니다.
개념은 이해가 되었는데, 여전히 해결을 못하고..
하나하나 살펴보며 찾아봤습니다.
결국 아래의 코드에서 문제가 일어나서 다른 방법으로 날짜를 표현해서 해결했네요.
User
# datetime 객체를 문자열로 변환
drawdate_str = drawdate.strftime("%Y년 %m월 %d일") # 예: "2024-02-27"의 형식으로 변환
drawdate_str_short = drawdate.strftime("%m/%d") # 예: "02-27"의 형식으로 변환
try:
deadlinedate_str = deadlinedate.strftime("%Y년 %m월 %d일") # 예: "2024-02-27"의 형식으로 변환
deadlinedate_str_short = deadlinedate.strftime("%m/%d") # 예: "02-27"의 형식으로 변환
날짜를 다른 방식으로 표현해서 해결함.
drawdate_str = "{0}년 {1:02d}월 {2:02d}일".format(drawdate.year, drawdate.month, drawdate.day)
drawdate_str_short = "{0:02d}/{1:02d}".format(drawdate.month, drawdate.day)
try:
deadlinedate_str = "{0}년 {1:02d}월 {2:02d}일".format(deadlinedate.year, deadlinedate.month, deadlinedate.day)
deadlinedate_str_short = "{0:02d}/{1:02d}".format(deadlinedate.month, deadlinedate.day)
except AttributeError:
print("deadlinedate is not a valid datetime object")
이렇게 하고 실행하니...
오류없이 잘되네요~
utf-8문제라고 계속 그것만 생각하고 찾으니, 결과를 찾는데 애를 먹었습니다.
하나하나 차근차근 살펴보니...
그리고 그 구석을 질문해서 찾아냈어요~
여러분 힘내요~
반응형
'IT tech Coding > python' 카테고리의 다른 글
[python] 파이썬 3항 연산자 간단설명 (0) | 2024.04.02 |
---|---|
[python] 엘리베이터 조명천장 홀 간격 계산하는 로직 개발 (0) | 2024.03.20 |
파이썬 묶음으로 함수호출하는 법 x1, y1을 한쌍으로 호출? (0) | 2024.02.26 |
파이썬 전역변수 선언하는 시원한 방법 (0) | 2024.02.26 |
파이썬 gooey 에서 exe만들때 오류나는 부분 해결법 연구 (0) | 2023.12.19 |