해결된 질문
작성
·
156
1
pyinstaller 사용시 에러
4900 WARNING: Library not found: could not resolve 'api-ms-win-crt-string-l1-1-0.dll', dependency of 'C:\\Users\\***\\AppData\\Local\\Programs\\Python\\Python312\\DLLs\\tcl86t.dll'.
명령 프로프트에서 실행해도
4524 WARNING: Library not found: could not resolve 'api-ms-win-crt-string-l1-1-0.dll', dependency of 'C:\\Users\\이종익\\AppData\\Local\\Programs\\Python\\Python312\\DLLs\\tcl86t.dll'.
해결 방법을 알고 싶어요
답변 1
1
종익님, 안녕하세요?
오랜만에 질문 주셨네요^^
해당 오류는 파이썬 코드나 문법 관련 오류가 아니라,
해당 파이썬 환경의 'api-ms-win-crt-string-l1-1-0.dll' 파일이 어떤 이유로 삭제되었을 때 발생하는 오류입니다. 원인은 여러 가지가 있지만(백신 또는 윈도우디펜더가 해당 파일을 삭제해버렸다든지..)
제가 생각하는 해결방법은
① 해당 dll파일을 인터넷에서 구해서 'C:\\Users\\***\\AppData\\Local\\Programs\\Python\\Python312\\DLLs\\tcl86t.dll' 위치에 복사하시거나, (비추천)
② 파이썬3.12를 재설치(복구)하시거나 등의 방법입니다. (추천)
그리고 pyinstaller로 컴파일하실 때 팁을 하나 드리면,
개발중인 파이썬 환경에 모듈이 많이 설치되어 있을 경우에는
exe파일의 용량이 수백 메가 정도로 커지는 경우가 흔합니다.
안쓰는 모듈을 찾아서 일일이 --exclude-module 에 등록하기도 번거롭기 때문에
저 같은 경우는 그냥 컴파일용으로 새 가상환경을 하나 만든 다음에
해당 가상환경에 필수 모듈과 pyinstaller만 설치해서 컴파일을 하고
컴파일 후에 가상환경을 지워버리는 식으로 작업을 합니다.
종익님 오류메시지로 추정컨대 글로벌 파이썬 환경에서 컴파일을 하시는 것 같은데요.
프로젝트마다 쓰이는 모듈이나 버전이 다를 때는,
충돌을 피하기 위해서라도 가상환경을 사용하시는 걸 적극 추천드립니다.
추가로 궁금한 게 있으면 댓글 남겨주세요.
감사합니다.
행복한 하루 되세요^^