문제 상황
xgboost를 import한 .py 파일을 pyinstaller로 .exe 로 패키징 할 때 다음과 같은 에러를 출력
xgboost.libpath.XGBoostLibraryNotFound: Cannot find XGBoost Library in the candidate path, did you install compilers and run build.sh in root path?
List of candidates:
C:\...\AppData\Local\Temp\_MEI103562\xgboost\xgboost.dll
C:\...\AppData\Local\Temp\_MEI103562\xgboost\../../lib/xgboost.dll
C:\...\AppData\Local\Temp\_MEI103562\xgboost\./lib/xgboost.dll
C:\...\AppData\Local\Temp\_MEI103562\xgboost\xgboost.dll
C:\...\AppData\Local\Temp\_MEI103562\xgboost\../../windows/x64/Release/xgboost.dll
C:\...\AppData\Local\Temp\_MEI103562\xgboost\./windows/x64/Release/xgboost.dll
해결 방법
다음 글을 참고
https://github.com/dmlc/xgboost/issues/7761#issuecomment-1104619556
1. 파일 추가
[PYTHON PATH]\Lib/site-package/_pyinstaller_hooks_contrib/stdhooks 폴더에 hook-xgboost.py 파일을 생성
""" hook-xgboost.py """
from PyInstaller.utils.hooks import collect_all
datas, binaries, hiddenimports = collect_all("xgboost")
2. 패키징
pyinstaller --collect-all "xgboost" test.py
--add-data "[file_path]; [dir_path]"
--hidden-import "[library]"
'Python > Error' 카테고리의 다른 글
[Tensorflow] Could not load dynamic library 'libcusolver.so.10' - tensorflow 에러 (0) | 2021.11.07 |
---|