安装xgboost(版本0.81)后,在PyCharm中使用,没有任何问题,但进行pyinstaller(版本3.4)打包后,运行会提示以下问题:
找不到xgboost.dll文件,这个问题很奇怪,明明在开发软件中没有问题的,所以初步判断,是pyinstaller打包引起的。
先在项目中添加一个目录xgboost,将xgboost.dll放进去。再调整打包的批处理,添加如下命令 --add-binary=xgboost;xgboost,打包后运行还是错误,查看临时目录,发现exe解压后的临时目录出现以下情况:
dll文件是进来了,可是目录有个dll后缀,导致还是读不到。
调整命令 --add-data=xgboost;xgboost。打包后错误如下:
dll文件找到了,又提示VERSION版本号文件找不到。。。。。干脆,直接将整个xgboost目的文件都放进去。然后成功了。
总结:应该是pyinstaller自身问题引起的,结果耗了大半天时间找解决方案,不过好在最终解决。