问题:之前直接用命令打包,默认的是系统的python环境,没有用到虚拟环境,打包出来会特别大一个多G。
1.cd E:\Users\13626\PycharmProjects\pythonProject3\venv\Scripts
(虚拟环境项目下)
2.activate 激活
3.cd E:\Users\13626\PycharmProjects\pythonProject3
打包:
4.
打包完成
5.dist文件夹中找到打好的包,运行exe,弹命令窗口后闪退。
于是到cmd命令行运行:
发现报错:ModuleNotFoundError: No module named ‘sklearn.metrics._pairwise_distances_reduction._datasets_pair’
解决方法:在.spec文件里面修改
hiddenimports=[‘sklearn.metrics._pairwise_distances_reduction._datasets_pair’,‘sklearn.metrics._pairwise_distances_reduction._middle_term_computer’]
分别对应两个no model name报错:sklearn.metrics._pairwise_distances_reduction._datasets_pair’,
‘sklearn.metrics._pairwise_distances_reduction._middle_term_computer’
6.pyinstaller XX.spec
运行还是闪退,到cmd运行:
报错:
xgboost.libpath.XGBoostLibraryNotFound: Cannot find XGBoost Library in the candidate path. List of candidates:
- E:\Users\13626\PycharmProjects\pythonProject3\dist\fadsystem2\xgboost\lib\xgboost.dll
- E:\Users\13626\PycharmProjects\pythonProject3\dist\fadsystem2\xgboost…\lib\xgboost.dll
- E:\Users\13626\PycharmProjects\pythonProject3\dist\fadsystem2\lib\xgboost.dll
- E:\Users\13626\PycharmProjects\pythonProject3\dist\fadsystem2\xgboost…/…/windows/x64/Release/xgboost.dll
- E:\Users\13626\PycharmProjects\pythonProject3\dist\fadsystem2\xgboost./windows/x64/Release/xgboost.dll
XGBoost Python package path: E:\Users\13626\PycharmProjects\pythonProject3\dist\fadsystem2\xgboost
sys.prefix: E:\Users\13626\PycharmProjects\pythonProject3\dist\fadsystem2
See: https://xgboost.readthedocs.io/en/latest/build.html for installing XGBoost.
到E:\Users\13626\PycharmProjects\pythonProject3\venv\Lib\site-packages文件夹里面找到XGboost文件夹放到你的exe文件目录下。
成功运行!