- 主题:Python程序发布太大怎么办?
用pyqt写了个程序,怎么弄到别的电脑上用,用pyinstaller打包成exe文件太大了,几百兆。
新弄了个虚拟环境下也试了,还是大。
发自「今日水木 on RMX1901」
--
FROM 114.249.196.*
1.1 可以先用Nuitka 编译成独立可执行程序试试,成功一切OK。
1.2 如果引用比较复杂,Nuitka编译失败,可以考虑用Nuitka编译核心组件,其他的用cxfreeze等打包,然后尝试删除打包进来的库,够耐心的话,能删掉很多。
2. 用可执行文件压缩工具,对exe、dll等进一步压缩,一般也有30%~50%的优化效果。
--
修改:dyspnea FROM 219.239.241.*
FROM 219.239.241.*
最佳方案是技术之外 PUA 客户,跟他讲我们这软件功能强大。
技术上的解决方案是删除 PyInstaller 自动引入的一些模块,以及如果没有使用 QML,可以删除大多数的 Qt 模块,只保留 QtCore, QtGui, QtWidgets 三个模块,大概只有 20M 左右。
文件这么大,更大的可能是因为你使用 Qt 的 WebEngine 模块。这实际上是个 Chrome 浏览器,安装包特别大是正常的。你自己去对比一下 chrome 浏览器的安装包看看。
【 在 dashengboy (Dasheng) 的大作中提到: 】
: 用pyqt写了个程序,怎么弄到别的电脑上用,用pyinstaller打包成exe文件太大了,几百兆。
: 新弄了个虚拟环境下也试了,还是大。
: 发自「今日水木 on RMX1901」
: ...................
--
修改:hgoldfish FROM 125.78.67.*
FROM 125.78.67.*
大神,怎么删除没用到的qt模块啊,是在打包过程中设置参数吗?
【 在 hgoldfish 的大作中提到: 】
: 最佳方案是技术之外 PUA 客户,跟他讲我们这软件功能强大。
:
: 技术上的解决方案是删除 PyInstaller 自动引入的一些模块,以及如果没有使用 QML,可以删除大多数的 Qt 模块,只保留 QtCore, QtGui, QtWidgets 三个模块,大概只有 20M 左右。
: ..................
发自「今日水木 on RMX1901」
--
FROM 114.249.196.*
谢谢大神指导
【 在 dyspnea 的大作中提到: 】
: 1.1 可以先用Nuitka 编译成独立可执行程序试试,成功一切OK。
:
: 1.2 如果引用比较复杂,Nuitka编译失败,可以考虑用Nuitka编译核心组件,其他的用cxfreeze等打包,然后尝试删除打包进来的库,够耐心的话,能删掉很多。
:
: 2\. 用可执行文件压缩工具
: ..................
发自「今日水木 on RMX1901」
--
FROM 114.249.196.*
所以,我都不用PyQt或PySide,只用tkinter和ttk来写Python GUI程序。
如果没有用到第三方库如numpy、matplotlib,用PyInstaller打包出来的exe约5.0MB。
若是用到numpy、matplotlib、scipy,那一般是10兆上下。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 最佳方案是技术之外 PUA 客户,跟他讲我们这软件功能强大。
: 技术上的解决方案是删除 PyInstaller 自动引入的一些模块,以及如果没有使用 QML,可以删除大多数的 Qt 模块,只保留 QtCore, QtGui, QtWidgets 三个模块,大概只有 20M 左右。
: 文件这么大,更大的可能是因为你使用 Qt 的 WebEngine 模块。这实际上是个 Chrome 浏览器,安装包特别大是正常的。你自己去对比一下 chrome 浏览器的安装包看看。
: ...................
--
FROM 119.233.180.*
HTML5才是王道
--
FROM 101.88.152.*
如果不是太特殊的GUI控件,速度也不是太挑剔,可以
- 换别的GUI库
- 别的语言写GUI调python
- 全盘换做其他语言
广告时间:[原创程序]比较excel表或者列
https://www.mysmth.net/nForum/#!article/OfficeSoft/123140?p=2#a16
原本我用python写了一个,但是分享起来文件真大(压缩了也大啊)
所以,换成了nim语言、调用.NET的DLL
【 在 dashengboy (Dasheng) 的大作中提到: 】
: 用pyqt写了个程序,怎么弄到别的电脑上用,用pyinstaller打包成exe文件太大了,几百兆。
: 新弄了个虚拟环境下也试了,还是大。
: 发自「今日水木 on RMX1901」
: ...................
--
FROM 171.106.20.*
“nim 语言调用 dotnet 控件”
弱问为啥不直接用 c# 或者 vb 算了?
【 在 MetalSlugX (冰天雪地敲冰块,春光灿烂挖臭虫) 的大作中提到: 】
: 如果不是太特殊的GUI控件,速度也不是太挑剔,可以
: - 换别的GUI库
: - 别的语言写GUI调python
: ...................
--
FROM 125.78.67.*
生命的意义,在于折腾
【 在 hgoldfish (老鱼) 的大作中提到: 】
: “nim 语言调用 dotnet 控件”
: 弱问为啥不直接用 c# 或者 vb 算了?
--
FROM 171.106.20.*