当前位置:   article > 正文

不同Python版本和wxPython版本用pyinstaller打包文件大小对比

wxpython版本

1、确定wxPython和Python版本的对应关系

在这里可以找到Python支持的所有wxPython版本:https://pypi.tuna.tsinghua.edu.cn/simple/wxpython/

由于Python从3.6版本开始支持f字符串、从3.9版本开始不支持Windows7操作系统,所以我仅筛选3.6-3.8之间的版本。

应用正则表达式:

.*cp3[6-8].*win32.whl

得到以下版本:

wxPython-4.0.0-cp36-cp36m-win32.whl
wxPython-4.0.0a1-cp36-cp36m-win32.whl
wxPython-4.0.0a2-cp36-cp36m-win32.whl
wxPython-4.0.0a3-cp36-cp36m-win32.whl
wxPython-4.0.0b1-cp36-cp36m-win32.whl
wxPython-4.0.0b2-cp36-cp36m-win32.whl
wxPython-4.0.1-cp36-cp36m-win32.whl
wxPython-4.0.2-cp36-cp36m-win32.whl
wxPython-4.0.2-cp37-cp37m-win32.whl
wxPython-4.0.3-cp36-cp36m-win32.whl
wxPython-4.0.3-cp37-cp37m-win32.whl
wxPython-4.0.4-cp36-cp36m-win32.whl
wxPython-4.0.4-cp37-cp37m-win32.whl
wxPython-4.0.5-cp36-cp36m-win32.whl
wxPython-4.0.5-cp37-cp37m-win32.whl
wxPython-4.0.6-cp36-cp36m-win32.whl
wxPython-4.0.6-cp37-cp37m-win32.whl
wxPython-4.0.7-cp36-cp36m-win32.whl
wxPython-4.0.7-cp37-cp37m-win32.whl
wxPython-4.0.7-cp38-cp38-win32.whl
wxPython-4.0.7.post1-cp36-cp36m-win32.whl
wxPython-4.0.7.post1-cp37-cp37m-win32.whl
wxPython-4.0.7.post1-cp38-cp38-win32.whl
wxPython-4.0.7.post2-cp36-cp36m-win32.whl
wxPython-4.0.7.post2-cp37-cp37m-win32.whl
wxPython-4.0.7.post2-cp38-cp38-win32.whl
wxPython-4.1.0-cp36-cp36m-win32.whl
wxPython-4.1.0-cp37-cp37m-win32.whl
wxPython-4.1.0-cp38-cp38-win32.whl
wxPython-4.1.1-cp36-cp36m-win32.whl
wxPython-4.1.1-cp37-cp37m-win32.whl
wxPython-4.1.1-cp38-cp38-win32.whl
wxPython-4.2.1-cp38-cp38-win32.whl

取一些大版本号,和新增Python支持的版本,还剩这些:

wxPython-4.0.0-cp36-cp36m-win32.whl
wxPython-4.0.2-cp36-cp36m-win32.whl
wxPython-4.0.2-cp37-cp37m-win32.whl
wxPython-4.0.7-cp36-cp36m-win32.whl
wxPython-4.0.7-cp37-cp37m-win32.whl
wxPython-4.0.7-cp38-cp38-win32.whl
wxPython-4.1.0-cp36-cp36m-win32.whl
wxPython-4.1.0-cp37-cp37m-win32.whl
wxPython-4.1.0-cp38-cp38-win32.whl
wxPython-4.1.1-cp36-cp36m-win32.whl
wxPython-4.1.1-cp37-cp37m-win32.whl
wxPython-4.1.1-cp38-cp38-win32.whl
wxPython-4.2.1-cp38-cp38-win32.whl

2、用不同的Python版本wxPython版本打包成exe文件

安装好Python和pyinstaller,这个就不说了。

由于打包32位版的Python程序普遍比64位版体积小很多,所以我就只下载32位版本的Python了。

首先写一个wxPython程序,嗯。。非常简单:

# demo.py

import wx
import sys

app = wx.App()
title = f'window-py{sys.winver}-wx{wx.__version__}'
frame = wx.Frame(None, -1, title)
frame.Center()
frame.Show()
app.MainLoop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

然后运行批处理文件开始打包:

@echo off

set install=-m pip install
set dist=-m PyInstaller -ywsF --noupx demo.py --name

py -3.6-32 %install% wxpython==4.0.0
py -3.6-32 %dist% demo-py36-wx400.exe

py -3.6-32 %install% wxpython==4.0.2
py -3.6-32 %dist% demo-py36-wx402.exe

py -3.7-32 %install% wxpython==4.0.2
py -3.7-32 %dist% demo-py37-wx402.exe

py -3.6-32 %install% wxpython==4.0.7
py -3.6-32 %dist% demo-py36-wx407.exe

py -3.7-32 %install% wxpython==4.0.7
py -3.7-32 %dist% demo-py37-wx407.exe

py -3.8-32 %install% wxpython==4.0.7
py -3.8-32 %dist% demo-py38-wx407.exe

py -3.6-32 %install% wxpython==4.1.0
py -3.6-32 %dist% demo-py36-wx410.exe

py -3.7-32 %install% wxpython==4.1.0
py -3.7-32 %dist% demo-py37-wx410.exe

py -3.8-32 %install% wxpython==4.1.0
py -3.8-32 %dist% demo-py38-wx410.exe

py -3.6-32 %install% wxpython==4.1.1
py -3.6-32 %dist% demo-py36-wx411.exe

py -3.7-32 %install% wxpython==4.1.1
py -3.7-32 %dist% demo-py37-wx411.exe

py -3.8-32 %install% wxpython==4.1.1
py -3.8-32 %dist% demo-py38-wx411.exe

py -3.8-32 %install% wxpython==4.2.1
py -3.8-32 %dist% demo-py38-wx421.exe
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

3、不同Python/wxPython版本的打包文件大小对比

运行结果:

打包文件大小对比

汇总表格:

Python-32bit 版测试结果:

wx\py3.63.73.8
4.0.08.69 MB--
4.0.28.70 MB8.13 MB-
4.0.78.73 MB8.16 MB8.17 MB
4.1.010.03 MB9.46 MB9.48 MB
4.1.110.10 MB9.54 MB9.55 MB
4.2.1--9.85 MB

Python-64bit 版测试结果:

wx\py3.63.73.8
4.0.011.00 MB--
4.0.211.01 MB10.56 MB-
4.0.711.04 MB10.59 MB10.56 MB
4.1.012.75 MB12.30 MB12.27 MB
4.1.112.84 MB12.40 MB12.37 MB
4.2.0-12.37 MB12.34 MB
4.2.1--12.36 MB

最终结论:

  1. 总体来说,wxPython的版本越高,打包文件体积越大。
  2. 截至目前,wxPython总共有3个minor版本,在不同的minor版本之间文件大小差异较大,不同的patch版本之间文件体积差异较小。
  3. 在相同的Python版本之间,64位Python比32位Python打包文件体积更大。
  4. 在不同的Python版本之间,Python-3.7 版本打包的文件体积最小,其次是 Python-3.8,最后是 Python-3.6。
  5. 最早支持 Python-3.7 的版本是 wxPython-4.0.2,所以用 Python-3.7+wxPython-4.0.2 会得到的文件体积最小。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/657327
推荐阅读
相关标签
  

闽ICP备14008679号