티스토리 뷰
IT tech Coding/python
파이썬 컴파일시 오류 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!
Coding Life 2024. 3. 6. 16:41반응형
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 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로그래머생활
- 오토핫키가이드
- General error: 2031
- ajax오류메시지
- 캐드자동작도
- Bootstrap 5
- 구글드라이브API
- 코딩튜토리얼
- 뫄프로그래밍
- 스크립트작성기초
- 엑셀셀보호
- #파이썬패키징
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- #프로그램설치
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- json파일형태보기
- 테크에능한여성
- 코딩효율성
- chatGPT3.5파이썬버전
- 도면자동생성
- isset을 적용해야 하는 이유
- 오블완
- 티스토리챌린지
- #InstallForge
- 파이썬코드줄바꿈방법
- 엑셀입력보호
- 효율적코딩방법
- json파일편하게보는법
- sql문장 날짜계산
- 엑셀보호
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함