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

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

off999 2025-06-12 15:12 117 浏览 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文件不能运行。暂时还没有找出解决办法 :(

相关推荐

qq历史版本官方下载(qq历史旧版本大全)

蟹妖。我用的小米手机,可以双开两个应用,你可以搞两个一样版本的qq。小米手机,还可以手机分身,一个手机不同的解锁方式进入不同的系统,第一个系统你可以安最新版本的qq,另一个系统你可以安装其他版...

一个人看的片免费高清大全(一个人看的片免费高清大全在线观看)

推荐“爱奇艺App手机版”。它是百度旗下的高清电影站,有许多最新最热的正版大片供免费观看,爱奇艺APP是一款集视频、商城、购票、阅读、直播、泡泡粉丝社区等多种服务于一体的移动软件。爱奇艺手机版为用户提...

搜狗翻译app下载(搜狗翻译app下载安装)

有啊,点击输入框弹出搜狗键盘,进入搜狗工具栏最左边的图标,进入加号,添加中英互译。1、首先确认是否电脑键盘按键出现问题,可以通过win+r调出运行,输入osk。2、调出虚拟键盘测试虚拟键盘是否可以正常...

女生付费和男生聊天(女生找男生聊天掉价吗)

不管在什么情况下女生好像都处在优势,因为只听说过娶不到媳妇儿的单身汉,还没有听说过嫁不出去的丑媳妇儿。所以一般这种交友聊天软件就是奔着让男人出钱来的,而且这类软件骗子太多,几乎都是机器人,或者是各种托...

腾讯公司版权所有(腾讯开放版权)

你好!其实这个很好理解,就是版权公司把这个音乐的管理、销售权限(独家版权)授权给了腾讯,腾讯可以把音乐对外进行转授权。所以你看有一些腾讯独家版权的歌,为什么其他音乐平也台会有呢?其实就是腾讯授予的。因...

智能语音机器人(智能语音机器人哪个最好)

1、小米的小爱小爱的智能应用随着近年来的不断升级,在很多手机应用都带来了智能新体验。像移动支付、生活购物、查询信息、打开应用等等,小爱智能语音识别就可以帮你解决。用户还可以自己创建快捷方式,进行语音交...

adobe lightroom(adobe lightroom for ipad破解版)

adobelightroom是一款非常不错的在线教育软件,adobelinghtroom这款软件具有资源管理,资源共享,在线学习,在线考试,成绩管理,教学管控,教学互动,效果评估等等功能,可以为用户提...

解压软件免费(电脑解压软件免费)

WinRAR压缩软件winrar压缩软件界面友好,WINRAR现在最好的压缩工具。使用方便,压缩率和速度方面都有很好的表示。其压缩率比之WINZIP之流要高。winrar压缩软件采用了比Zip更...

微信名字 昵称 好听(微信名字 昵称 好听2025)

1、春风化雨,2、昨夜轻风3、番茄蛋汤,4、如花似玉5、花落无声,6、似水流年7、铿锵玫瑰,8、海阔天空9、潜物无声,10、浅笑心柔11、春风乍起,12、如花似玉13、淡泊人生,14、桃花盛开15、云...

编程基础知识(计算机编程零基础教程)

自动化编程是指利用计算机程序来实现自动化操作的技术。入门基础知识包括编程语言的基本语法和逻辑思维能力,了解常用的自动化工具和框架,如Python、Java、C#等编程语言,以及Selenium、Rob...

mp3转mp4格式转换器(mp3转换成mp4格式的手机软件)
mp3转mp4格式转换器(mp3转换成mp4格式的手机软件)

下载格式工厂,打开格式工厂,点音频,选择MP3,点右上角添加文件,选择要转换的MP4文件,点确定就可以了。...

2026-02-03 11:51 off999

lol盒子官方下载(英雄联盟盒子官方)

Wegame英雄联盟箱也叫LOL盒子,但现在LOL盒子已经被删除了,但是你可以放现在的盒子Wegame它被理解为英雄联盟指定插件,因为它还具有查看召唤师记录和记录各种数据、水晶复活、野生怪...

上的视频直播下载(下载现场直播视频)
  • 上的视频直播下载(下载现场直播视频)
  • 上的视频直播下载(下载现场直播视频)
  • 上的视频直播下载(下载现场直播视频)
  • 上的视频直播下载(下载现场直播视频)
微信2025最新版本官方免费下载

是的,苹果6可以继续使用微信。虽然苹果6已经不再是最新的iPhone型号,但它仍然能够支持微信的运行。只要你的苹果6上安装了最新版本的iOS系统,你就可以在上面下载和使用微信应用程序,与朋友们聊天、分...

谷歌翻译软件免费下载(谷歌翻译官方免费版)
  • 谷歌翻译软件免费下载(谷歌翻译官方免费版)
  • 谷歌翻译软件免费下载(谷歌翻译官方免费版)
  • 谷歌翻译软件免费下载(谷歌翻译官方免费版)
  • 谷歌翻译软件免费下载(谷歌翻译官方免费版)

取消回复欢迎 发表评论: