vue打包到springboot,vue项目打包方式

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: