위와 같은 Unhandled exception in script 에러창이 팝업되며 이하 전문은 아래와 같다.
Traceback (most recent call last):
File "buff_alarm_tray.py", line 27, in <module>
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
File "autoit\__init__.py", line 6, in <module>
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
File "autoit\autoit.py", line 26, in <module>
OSError: Cannot load AutoItX from path: C:\Users\happy\AppData\Local\Temp\_MEI493962\autoit\lib\AutoItX3_x64.dll
즉 해당 경로에서 AutoItX3_x64.dll 파일을 찾을 수 없다는 내용.
이 경우, pyinstaller를 실행할 때, --add-data 옵션으로 경로를 직접 지정해 줄 수 있다.
본인의 경우 해당 라이브러리 경로에 AutoItX3_x64.dll 파일이 위치했다.
(happy는 사용자 이름이다)
C:\Users\happy\AppData\Local\Programs\Python\Python39\Lib\site-packages\autoit\lib\
아래와 같이 수정하여 pyinstaller 로 다시 실행파일을 만들어준다.
# 수정 전
pyinstaller --onefile --icon='./lala_data/exeIcon.ico' .\buff_alarm_tray.py
# 수정 후
pyinstaller --onefile --add-data "C:\Users\happy\AppData\Local\Programs\Python\Python39\Lib\site-packages\autoit\lib\AutoItX3_x64.dll;autoit\lib" --icon='./lala_data/exeIcon.ico' .\buff_alarm_tray.py
새로 만들어진 실행파일은 처음과 같은 에러가 발생하지 않는다.
반응형
'Dev > Python' 카테고리의 다른 글
[Python] FileFlattener-and-Restorer (0) | 2024.02.02 |
---|---|
Pyinstaller로 작성한 실행파일 실행 시, cv2가 이미지파일을 로드하지 못하는 문제 (0) | 2023.12.30 |
Pyinstaller 사용 시 OSError: [WinError 225] 파일에 바이러스 또는 기타 사용자 동의 없이 설치된 소프트웨어가 있기 때문에 작업이 완료되지 않았습니다 (0) | 2023.12.30 |
[python]리스트 sort함수, reverse함수, 슬라이싱으로 역순 (0) | 2023.09.14 |
[PS][python]개인정보 수집 유효기간 (0) | 2023.09.13 |