用wxPython写了一个简单的桌面应用程序,其中需要用到XGBoost模型进行预测,用pyinstaller打包成exe文件时打印了错误日志:
xgboost.libpath.XGBoostLibraryNotFound: Cannot find XGBoost Library in the candidate path. List of candidates:
- D:\code\dist\CornPhenotypePredictor\_internal\xgboost\lib\xgboost.dll
参考了些资料,让去xgboost的安装环境找是否存在xgboost.dll文件。(通常在anaconda3\envs\虚拟环境\Lib\site-packages\xgboost),我的在:D:\anaconda3\envs\myPytorch\Lib\site-packages\xgboost中查找,但是最初xgboost包中没有这个dll文件。又想起当初以下指令安装的xgboost:
pip install xgboost
确实安装成功了,能使用,但用pyinstaller打包时会报错说缺少xgboost.dll文件(至少我是这样的)。后来尝试卸载,使用以下指令安装:
conda install -c conda-forge py-xgboost
但不知道为啥还是缺少dll文件。 又网上搜了搜,XGBoost安装问题 xgboost.libpath.XGBooetLibraryNotFound:Cannot find XGBoost Library in the candidate path - 闪存第一菜鸡 - 博客园
这篇博客说是让单独下载dll文件,但这个网站打不开,去另一个网站也没找到在哪儿。 后来利用AI(伟大的发明!),了解到直接下载whl文件(或者使用镜像来下载)就能自动生成xgboost.dll文件。