文章目录
- 1 requirements.txt
- 2 项目介绍
- 3 matplotlib的问题
- 4 xgboost打包遇到的问题
- 4.1 解决办法:
- 5 总结流程
- 5.1 打开命令行
- 5.2 键入打包指令
- 5.3 执行文件
- 5.4 双击exe运行
1 requirements.txt
python==3.6.15
tensorflow-cpu==2.2.0
netCDF4==1.5.6
Keras==2.3.1
pandas==1.0.3
pyinstaller==4.7
joblib==1.1.0
bottle==0.12.19
scikit-learn==0.21.3
matplotlib==3.2.1
2 项目介绍
现在我的代码名:xgboost_model.py
只需要打包这一个py文件,但是需要import xgboost,这是打包的难点。
3 matplotlib的问题
修改一下依赖包的一个文件,下面是参考博客。
https://blog.csdn.net/weixin_43054437/article/details/124043603
4 xgboost打包遇到的问题
因为代码里面import了xgboost的依赖包,但是在打包的时候打不进去,xgboost.dll
文件找不到。
- 报错情况如下:
【缺少xgboost.dll】
4.1 解决办法:
(1) 修改指令:pyinstaller -D xgboost_model.py --add-data=xgboost;xgboost
(2) 在xgboost_model
的同级目录下把xgboost的依赖包(从本地环境里面)整体拷贝进去。
我自己电脑上的地址:C:\Users\13004\anaconda3\envs\zjj36\Lib\site-packages\xgboost
(3) 等到生成了exe文件之后,吧xgboost的依赖包再复制一份到exe的同级目录下
(4) 复制好了之后,再点exe文件执行就OK了。
5 总结流程
5.1 打开命令行
首先进入到代码py所在目录。
把xgboost的包一整个都拷贝进来。
【xgboost==1.5.2】
去自己的电脑的虚拟环境里面找依赖包,我自己的目录是:C:\Users\13004\anaconda3\envs\zjj36\Lib\site-packages\xgboost
在地址栏敲cmd进入命令行。
5.2 键入打包指令
虽然我只是一个py文件,但是用-D的效果会比-F 好很多,省去很多麻烦,就直接-D了。
也建议用-F试试。
pyinstalller -D svm.py --add-data=xgboost;xgboost
然后会生成一个build文件夹,dist文件夹,和svm.spec。
5.3 执行文件
进入dist文件夹。
进入两级目录。
找到exe文件,这里会比用-F的方式生成更多的文件。都不用管。
在exe的同级目录下,也就是此目录下添加xgboost
文件夹,跟刚刚是一个文件夹。
5.4 双击exe运行
如果闪退,可以试试在exe文件夹内,按住shift+鼠标右击。
打开powerdshell。
然后输入.\xgboost_model.exe
,也就是.\ + [exe文件]