解决pyqt5打包后太大(怎么解决electron 或 nw.js 打包exe文件后体积很大,或者还有什么其他的方法把网页制作成桌面应用的方法)
本文目录
- 怎么解决electron 或 nw.js 打包exe文件后体积很大,或者还有什么其他的方法把网页制作成桌面应用的方法
- pyqt5太多类怎么记
- python桌面应用(pyinstaller打包多个py文件)
- python 使用pyinstaller打包后的 exe文件太大怎么办发现有80M
- 解决!!前端项目打包后生成的chunk-vendors文件过大,导致加载太慢
- 使用nodejs后文件太大怎么解决
怎么解决electron 或 nw.js 打包exe文件后体积很大,或者还有什么其他的方法把网页制作成桌面应用的方法
前言:研究electron自动更新的时候,在electron的官方文档auto-updater 中,提到了在几个平台mac,linux,windows下electron 的自动更新方法,其中windsow平台上面,文章中建议先用grunt-electron-installer 模块来创建windows安装包,grunt这个工具是由Squirrel集成的。进而了解下Squirrel这个工具,一个可以用来给electron应用的安装更新卸载添加快捷方式的工具。本文主要提及如何在windows平台下,用Squirrel创建electron的.exe安装包。创建nuget包我们的方法是使用nuget工具创建Nuget包,再使用Squirrel工具创建.exe。1.下载squirrel.exe和nuget.exe,也可以选择直接安装Squirrel.Windows (需要有vitualstudio环境)。2.新建文件夹如my-build,把下载好的squirrel.exe,nuget.exe和setup.exe放进去,在文件夹放入我们未打包的electron应用,如下图:4.在my-build根目录中,打开命令行执行nuget spec如下图:生成 spec包初始文件5.器打开 Package.nuspec,按照自己项目的需要这个文件,如下图:这里需要注意:根据Squirrel文档说明,target folder 属性需要设置为lib/net45,否则并没有用;《.iconUrl》标签用来制定未来的exe的icon。5.用下面的命令创建一个nuget包,nuget pack Package.nuspec如下图:之后在目录中会出现这个包命名规则就是《my_app_name》.《version》.nupkg创建安装程序把应用程序打包成nuget包之后,就可以用squirrel创建一个安装程序了。在根目录打开命令行,执行以下命令:squirrel --releasify 《my_app_name》.《version》.nupkg这个时候命令行中没有任何提示。但是别慌,编译一段时间后程序会创建一个release文件夹,里面有三个文件,nuget包,RELEASES 文件和安装文件Setup.exe。如下图:如果没有出现这三个文件,可以查看目录中的SquirrelSetup.log,根据里面的报错,来进行调试。注意上面这条squirrel 命令,可以用来设置setup.exe在安装过程中用传统icon还是用自定义的图片文件。使用Squirrel --help可以查看更多帮助发布应用和安装应用把上一步生成的setup.exe发送给想要安装这个应用的用户,就可以了。最终应用会被安装在C:\Users\Administrator\AppData\Local\ 文件夹中,注意Squirrel 的日志文件也存在目录中,调试安装问题的时候非常有用。双击我们的setup.exe进行安装app的测试,如果中途有任何出错,在C:\Users\Administrator\AppData\Local\SquirrelTemp 里面可以看到安装日志。如下图:安装之后打开C:\Users\Administrator\AppData\Local 目录,可以看到app安装在这里,如下图:自动创建快捷方式进入我们安装之后的文件夹,命令行进入C:\Users\Administrator\AppData\Local\,执行 Update.exe --help ,可以看到不知道从上图你有没有得到什么提示,反正我发现了,在命令行手动创建快捷方式的命令是Update.exe --createshortcut electron\electron.exe -i \app.ico所以,如果我们想让应用在安装过程中静默地创建好快捷方式,那就需要在app的安装之后相反设法执行这句代码。因为我们的.exe会在安装之后自动打开程序,所以我在程序的入口main.js,添加sqruieel事件的监听就好了。如下图:我顺便把程序卸载时,删除快捷方式的监听事件也写了进去。还有程序的更新和删除事件监听,但是这两个事件,我还没有进行测试。更新应用其实我一直很想做增量更新,在这里我的更新方法有两个,第一是在程序的入口添加js,发送请求到服务器,拉取更改文件进行本地替换,但是如果是node_module依赖包的更改,这个方法并不可行。第二个方法比较安全而且快捷通过发布一个版本号不同的exe,如下:1.在这个创建安装程序的步骤2中,我们把程序代码都复制到了这个文件夹里面,如下图:如果后续我们的程序要进行更新,首先我们需要把更改的文件直接复制替换到这个文件夹。2.打开Package.nuspec,version标签3.参考本文种中创建安装程序部分的步骤2-4,重新生成setup.exe,发布应用。通过执行setip.exe安装,程序会自动删除之前的应用,但是我并不清楚,sqruieel 是进行了增量替换,还是将之前的整个应用进行删除,再重新安装。创建自定义安装包在上一步,我们已经把自己的exe发布出来了,但是如果没有自定义名字跟icon,好像还不够酷,所以我们需要创建自定义的安装文件。1.下载安装 ResourceHacker2.打开这个项目目录,在electron.exe上面右键出现菜单,点击 Open using Rescource Hacker。3.Resource Hacker应用运行之后中,在以下界面中选择Icon,然后在工具栏里面选择Action,ReplaceIcon,如下图:然后选择自己想要替换的.ico文件就好4.这其实并不够,我们还需要更换exe里面的版本信息,打开VersionInfo,把FileDescription和ProductName改成我们自己的项目名称,最好把SquirrelAwareVersion也更改一下,毕竟是版本号。5.做完这些之后,我们需要按照之前的步骤,在命令行中输入nuget pack Package.nuspec重新生成nuget包,然后再使用squirrel --releasify 《my_app_name》.《version》.nupkg 命令创建安装文件。6.打开之后生成的releases文件夹,参考本文种中创建安装程序部分的步骤2-4,对setup.exe进行自定义。最后,一个可以自动更新又安装便捷,还有我们自己的酷酷的图标跟名字的应用就生成拉!
pyqt5太多类怎么记
程序打包,用qrc文件整合资源,用PyInstaller打包。_indows对PyQt5支持最好,但笔者还是想看下MacOS对PyQt5的支持如何,所以会在Mac上运行PyQt5程序,显示的程序样式肯定跟Windows和Linux上的不同,不过当然知识点还是互通不变的。
python桌面应用(pyinstaller打包多个py文件)
一 、当写这篇文章的时候,pyinstaller官网版本对pyqt5打包可能会遇到Could not find QtWebEngineProcess.exe.的错误。解决方法为: 二 、如果有报错:“could not find or load the Qt platform plugin "windows" ”。原因之一可能是你把打包后的文件放在了中文目录下。只需要将打包后的文件放在英文目录下,就可以解决。 三、 多文件打包为单一文件时,即pyinstaller 命令中加入了-F,也可能会导致错误。尽量不要使用-F。 使用pyinstaller打包的时候,仅打包.py文件,其余依赖项只需在打包完成后,拷入打包生成的根目录即可。 命令格式如下,下命令为一条命令,为方便显示做了分行处理: 以上文图中结构为例,在根目录打开命令窗口,输入命令: 在目录结构:“程序根目录\dist\main\” 下可以找到生成的main.exe。将其他依赖文件拷贝进入“程序根目录\dist\main\” 下,即可运行。 =========吃鸡、撸码复古键盘=========
python 使用pyinstaller打包后的 exe文件太大怎么办发现有80M
很正常呀你代码里import包含的库全都包含进去,安装包就是很大。用什么打包什么,安装包就小了。
解决!!前端项目打包后生成的chunk-vendors文件过大,导致加载太慢
第一步安装插件 compression-webpack-plugin npm install --save-dev compression-webpack-plugin
第二步修改vue.config.js配置文件
第三步修改nginx配置
最后看下效果
到此结束!如果遇到安装插件后 npm run build 报错 就行将插件版本降低 插件版本过高的原因 我用的是5.1.1
使用nodejs后文件太大怎么解决
去除不必要的插件刚开始用 webpack 的时候,开发环境和生产环境用的是同一个 webpack 配置文件,导致生产环境打包的 JS 文件包含了一大堆没必要的插件,比如 HotModuleReplacementPlugin, NoErrorsPlugin... 这时候不管用什么优化方式,都没多大效果。所以,如果你打包后的文件非常大的话,先检查下是不是包含了这些插件。提取第三方库像 react 这个库的核心代码就有 627 KB,这样和我们的源代码放在一起打包,体积肯定会很大。所以可以在 webpack 中设置{entry: {bundle: ’app’vendor: }plugins: {new webpack.optimize.CommonsChunkPlugin(’vendor’, ’vendor.js’)}}
更多文章:
thinkpad x1(thinkpad x1 carbon配置参数)
2024年7月21日 04:52
ati mobility radeon hd 4330(ATI Mobility Radeon HD 4330怎么样)
2024年7月26日 17:50
thinkpad x200s(thinkpadx200升级方案)
2024年7月22日 20:16