vue打包到springboot,vue项目打包方式
010-59001一、包装方法
感动朋友:用pyinstaller打包
方法二:在程序中引入matlab.engine的打包方法。
方法三:用Nuitka打包。
二、包装过程中遇到的问题及解决方法
1.pyinstaller打包后,运行提示找不到该模块。
2.UnicodeDecoderror错误:“UTF-8”代码无法解码位置解决方案中的0xce出现在Pyinstaller包中
3.pyinstaller包错误:重复错误:超过了最大重复深度,UnicodeDecodeError错误解决方案
4.pyinstaller打包exe文件,并处理进程中没有命名模块的问题。
一、打包方法感动朋友:使用pyinstaller进行打包。第一步是安装pyinstaller。
安装pyinstaller
(如果安装失败,请使用管理员权限安装)
第二步:打开要打包的文件夹路径下的cmd,输入命令进行打包:
pyinstaller -F -w demo.py
-F表示指定的包之后只会生成一个exe格式的文件,-w表示没有控制台的窗口。
还可以改变exe的图标,以及tk窗口默认的小羽毛图标,这里不讨论。
第三步:把运行程序需要的数据放到生成的dist文件夹中,然后打开exe运行。
参考:
https://www.cnblogs.com/navysummer/p/10614905.html
https://blog.csdn.net/weifuliu/article/details/82826643
方法二:将matlab.engine的打包方法导入到程序中。当matlab.engine导入到打包的程序中时,根据动友报告matlab中mlarray模块没有错误,需要第二种方法进行打包。
第一步:新建一个hooks的空白文件夹,在hooks中新建一个hook-matlab.py,在hook-matlab.py中写入以下信息:
从pyinstaller.utils.hooks导入collect _ alldata,香氛Aries,hidden imports=collect _ all( MATLAB )。然后,将hooks文件夹放在路径“C:\ Users \ username \ anaconda 3 \ lib \ site-packages \ predict \ hooks”中。(用户名更改为您自己计算机上的用户名)
第二步:打开要打包的文件夹路径下的终端,输入以下命令(用户名改为自己电脑上的用户名):
pylnclocpredtool 5 . py-additional-hooks-dir c:\ users \用户名\ anaconda 3 \ lib \ site-packages \ predict \ hooks -hidden-import sk learn . neighbors . typedef s
第三步,把程序运行需要的数据放在dist文件夹下,然后点击dist文件夹下的exe文件运行程序。
参考:
https://stack overflow . com/questions/61482776/creating-exe-file-with-py installer-and-MATLAB-engine
方法三:使用Nuitka进行包装。第一步是下载mingw 64 8.1(https://link.zhihu.com/?target=https://SourceForge . net/projects/mingw-w64/files/),解压到c盘目录下,打开文件夹路径下的cmd,进入gcc . exeversion,检查是否有显示的版本,如果有,则有效。
然后,在环境变量中添加安装路径“C:\mingw64\怕孤独的芬芳”。
第二,安装Nuitka。
pip安装nuitka
或者安装最新版本(根据体验发现新版本修复了很多问题,兼容性更好)。
pip install-U https://github . com/Nuitka/Nuitka/archive/develop . zip
第三步是编译文件。
(1)常用命令
- mingw64 #默认为已安装的vs2017编译,否则按指定编译,比如mingw。
-独立的独立文件,这是必要的。
-windows-disable-控制台没有CMD控制窗口。
- recurse-all所有资源文件。这个也是选中的。
-recurse-not-to=numpy,jinja2不编译模块,所以防范速度会慢一些。
-output-dir=out生成exe并转到out文件夹下。
- show-progress显示编译的进度,非常直观。
- show-memory显示内存占用情况。
-plugin-enable=pylint-warnings报警信息
-plugin-enable=qt-plugins要加载的PyQt插件
- windows-icon==您的。ico软件
(2)以下是完整的命令。编译后的py文件是index.py
nuitka-mingw 64-windows-disable-console-standalone-show-progress-show-memory-plugin-enable=Qt-plugins-plugin-enable=pylint-warnings-recu rse-all-recurse-not-to=numpy,jinja2 - output-dir=out index.py
参考:https://zhuanlan.zhihu.com/p/133303836
二。包装过程中遇到的问题及解决方法。pyinstaller在打包后运行,并提示找不到该模块。打包时没有提示错误,可以成功打包成exe文件。但是运行打包软件时会提示找不到模块。遇到的是找不到第三方模块,比如requests。此时需要在打包时指定-p参数,后面是python目录下的第三方库模板目录路径site-packages。再装一次就成功了。
py installer example . py-F-p C:/python/lib/site-packages
参考:
https://blog.csdn.net/itworld123/article/details/93051789
2.UnicodeDecoderror错误:“UTF-8”代码无法对Pyinstaller打包中出现的位置解决方案中的0xce进行解码。在打包命令行中,首先输入chcp 65001,然后输入打包命令。
pyinstaller -F xxx.py
参考:https://blog.csdn.net/qq_38343111/article/details/91362920
3.pyinstaller包错误:重复错误:超过了最大重复深度,UnicodeDecodeError错误解决方案原因:
此错误意味着超过了最大递归深度。python的默认递归深度默认为1000),所以当递归深度超过时会抛出这个异常。
解决方法:
(1)执行pyinstaller -F XXX.py它会在你的目录文件中生成XXX.spec文件,然后用这种异常报错。
(2)打开XXX.spec文件,在开头添加上面两行代码。
导入系统
sys.setrecursionlimit(1000000)
(3)继续打包,还要文件名:pyinstaller -F XXX.spec,并执行文件。
参考:https://www.cnblogs.com/patrickstar2019/p/11465220.html
4.pyinstaller将exe文件打包,并处理进程中的无模块命名问题。如果已打包,运行exe并报告错误:
ModuleNotFoundError:没有名为“matplotlib . backends . back end _ tkagg”的模块
也就是没有找到matplotlib . backends . back end _ tka gg模块。解决方案是在打包命令后添加以下内容:
Demo.py是要打包的文件。
py installer-F demo . py-hidden-import matplotlib . backends . back end _ tka gg
其他缺失的模块也是如此。只需替换上面的‘matplotlib’即可。后端。“backend _ tkagg”与缺少的模块的名称。
参考:https://blog.csdn.net/huxiangen/article/details/79795768
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。