百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python GUI开发:打包PySide2应用(spyder打包python)

off999 2025-06-12 15:12 110 浏览 0 评论

之前的文章我们介绍了怎么使用PySide2来开发一个简单Python GUI应用。这次我们来将上次完成的代码打包。

我们使用pyinstaller。注意,pyinstaller默认会将所有安装的package打包起来。这里为了减少包的大小,我们首先创建一个虚拟环境,然后在虚拟环境里面只安装必要的package。这样可以减少包的大小。

首先我们来安装virtualenv:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

然后创建虚拟环境:

 C:\Users\nickz> virtualenv pyside2
 

激活虚拟环境:

C:\Users\nickz> .\pyside2\Scripts\activate

注意,如果上面的命令报错,你需要首先以管理员身份远行power shell,然后输入以下命令:

Set-ExecutionPolicy Unrestricted -Force

之后重启你的terminal,我这里使用的是windows terminal,再次输入刚才的命令:

C:\Users\nickz> .\pyside2\Scripts\activate

成功之后提示符会变成:

PS C:\Users\nickz> .\pyside2\Scripts\activate
(pyside2) PS C:\Users\nickz>

这样就表示成功了,然后输入以下命令:

(pyside2) PS C:\Users\nickz> pip freeze
(pyside2) PS C:\Users\nickz>

可以看到我们现在的环境很干净,没有安装任何的package。现在我们来安装PySide2和pyinstaller:

(pyside2) PS C:\Users\nickz> pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PySide2
(pyside2) PS C:\Users\nickz> pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller

现在,我们找到之前我们写好的PySide2 GUI代码,转到代码目录下(具体可以参考我之前的文章):

(pyside2) PS C:\Users\nickz> cd D:\PySide2Demo\
(pyside2) PS D:\PySide2Demo> ls


    目录: D:\PySide2Demo


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         2020/6/1     20:46                __pycache__
-a----         2020/6/1     20:47            479 main.py
-a----         2020/6/1     15:12           1711 mainwindow.ui
-a----         2020/6/1     20:46           3348 ui_mainwindow.py


(pyside2) PS D:\PySide2Demo> python .\main.py

运行之后,你会看到GUI窗口弹出(我们这里是一个登录的窗口),看到窗口,说明环境配置成功了。


这里我们在下载一个UPX应用,它可以使我们打包的应用更小。从下面的地址下载,这里我下载的是windows版本:

https://github.com/upx/upx/releases/download/v3.96/upx-3.96-win64.zip

下载完之后我们将它解压到D盘:

(pyside2) PS D:\PySide2Demo> ls D:\upx-3.96-win64\


    目录: D:\upx-3.96-win64


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2020/1/23     17:56           1750 BUGS
-a----        2020/1/23     17:56          18092 COPYING
-a----        2020/1/23     17:56           5448 LICENSE
-a----        2020/1/23     17:56          23062 NEWS
-a----        2020/1/23     17:56           4587 README
-a----        2020/1/23     17:56            800 README.1ST
-a----        2020/1/23     17:56           2198 THANKS
-a----        2020/1/23     17:56          43086 upx.1
-a----        2020/1/23     17:56          37244 upx.doc
-a----        2020/1/23     17:56         412672 upx.exe
-a----        2020/1/23     17:56          39181 upx.html

现在,我们开始打包项目,先不启用upx压缩,使用下面的命令:

(pyside2) PS D:\PySide2Demo> pyinstaller -w -F .\main.py

在dist目录下,你可以看到生成的文件:

(pyside2) PS D:\PySide2Demo> ls .\dist\


    目录: D:\PySide2Demo\dist


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         2020/6/3     16:21       44894039 main.exe

生成的文件大小差不多是44M,双击这个文件main.exe就可以直接运行了。直接copy这个文件到其他的windows电脑,也可以直接运行。不需要安装任何的依赖。

下面,我们再试试启用upx压缩,先删除刚刚生成的文件和文件夹:

build dist __pycache__ main.spec

然后再使用下面的命令:

(pyside2) PS D:\PySide2Demo> pyinstaller -w -F --upx-dir D:\upx-3.96-win64\ .\main.py

好吧,我承认我失败了,启用upx之后,生成的exe文件不能运行。暂时还没有找出解决办法 :(

相关推荐

台式电脑键盘按键错乱怎么恢复

如果你的机械键盘按键错乱,你可以尝试将键盘连接到电脑上,然后通过按下“Ctrl”、“Alt”和“Del”键同时重启电脑,看看是否能够恢复默认设置。另外,你还可以尝试在控制面板中找到键盘设置,检查是否有...

移动硬盘格式化后还能用吗(移动硬盘格式化后数据会丢失吗)

当然可以使用!格式化只是里面的所有文件会没有,还可以再存储的。格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被...

手机系统升级好不好

手机系统并不是随时更新,都是好用的,手机主要针对你的处理器,如果老型使用年头比较多的手机,不建议更新系统,更新系统之后容易造成耗电量非常大,卡顿现象比较严重,而新出的手机产品处理器功率都偏大,这种手机...

win2003序列号企业版(win2003 enterprise序列号)

  Windows2003:JB88F-WT2Q3-DPXTT-Y8GHG-7YYQY  cky24-q8qrh-x3kmr-c6bcy-t847y  win2003EnterpriseServer:...

电脑c盘满了应该怎么办(如果电脑c盘满了怎么办啊)
电脑c盘满了应该怎么办(如果电脑c盘满了怎么办啊)

1、电脑桌面双击此电脑2、进入后找到Windows(C)盘,然后鼠标右击选择属性3、点击磁盘清理4、勾选需要清理的文件,最后点击确定即可1、运用磁盘清理软件清理C盘,大约可为C盘释放50M-800M空间。2、关闭休眠功能,在开始菜单的运行里...

2025-12-18 11:03 off999

win10桌面突然清空了(电脑桌面全部被隐藏了怎么恢复)

1、右键点击任务栏,然后选择任务管理器或按快捷键Ctrl+Shift+Esc;  2、打开任务管理器后,切换到详细信息模式。在进程中找到“桌面窗口管理器”(英文版系统找DesktopWindowM...

华硕笔记本全系列介绍(华硕笔记本全系列介绍视频)

关于这个问题,华硕笔记本一共有多个系列,每个系列定位不同。以下是华硕笔记本的主要系列及其定位:1.ASUSVivoBook(维沃系列):面向普通用户和学生,注重轻薄、时尚设计和价格实惠。2.AS...

华为笔记本电脑i5和i7区别(华为笔记本电脑i5和i7区别是什么)

主要是性能上的区别。如果将CPU比作火车运输,那么i5等于4条高铁,i7可以是6条或者8条高铁,运输量倍数增加。i7可以看作是i5的高配版。功能不同。i5和i7两个版本,其主要区别是在处理器的频率不...

如何下载office2007办公软件
  • 如何下载office2007办公软件
  • 如何下载office2007办公软件
  • 如何下载office2007办公软件
  • 如何下载office2007办公软件
u盘启动蓝屏(联想电脑进入u盘启动蓝屏)
u盘启动蓝屏(联想电脑进入u盘启动蓝屏)

电脑插入U盘后蓝屏的原因如下:1、Windows的系统分区存在磁盘错误或文件错误2、主板的SATA或IDE控制器驱动程序受到了损坏或安装不正确3、计算机遭到了病毒木马、流氓软件等恶意程序的攻击解决办法如下:1、执行磁盘扫描程序对所有的磁盘驱...

2025-12-18 08:51 off999

下载新版微信并安装(下载新版微信并安装到手机)

1.首先打开手机的浏览器,在搜索栏中输入微信官网,并点击搜索。2.出现微信后点击下载,下载完成后,点击安装。   3.安装完成后,再回到桌面,点击“微信”4.输入账号密...

测速在线测试(测速在线测试高铁)

回答:不靠谱。例如:SPEEDTEST是一家叫Ookla的公司开发的测速工具,稍有经验的朋友想必对它都不会陌生。Ookla在全世界各地维护了大量测速节点,SPEEDTEST测量的就是与这些测速节点间的...

格式工厂免费版(格式工厂免费版破解版)

不收费用格式工厂是由上海格式工厂网络有限公司创立于2008年2月,是面向全球用户的互联网软件。格式工厂发展至今,已经成为全球领先的视频图片等格式转换客户端。格式工厂致力于帮用户更好的解决文件使用问题,...

路由器连接电脑插哪个端口(路由器跟电脑的连接线怎么插)

电脑连接路由器插入路由器LAN口。具体方法如下1、光纤或网线插到路由器的WAN口上,(或网线连接modem的line口,modem的lan口连接了无线路由的wan口);2、电脑网线从路由器的LAN口上...

华硕官方客服在线解答(华硕客服售后在线咨询)

如果您需要寻找ROG的售后服务,可以通过以下几种方式进行联系:1.官方网站:您可以在ROG的官方网站上找到售后服务的联系方式,如客服电话、在线客服、邮件等。2.客服热线:您可以通过ROG的客服热线...

取消回复欢迎 发表评论: