千家信息网

pyqt5如何打包成exe可执行文件

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,本篇内容主要讲解"pyqt5如何打包成exe可执行文件",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"pyqt5如何打包成exe可执行文件"吧!安装pyth
千家信息网最后更新 2025年02月16日pyqt5如何打包成exe可执行文件

本篇内容主要讲解"pyqt5如何打包成exe可执行文件",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"pyqt5如何打包成exe可执行文件"吧!

安装python3.6

转exe会遇到很多问题,其中部分是由于python版本不合适引起的,如果可以,尽量用3.5或3.6版本。

在Windows上安装python3.6.8

安装时勾选Add to path选项添加到环境变量

打开终端查看版本:

python -Vpip -V

准备工作

安装包:

pip isntall pyinstallerpip install auto-py-to-exepip install pyqt5

如果代码中有其他依赖包也要对应安装好,要是编译成功后,打开之后程序直接死掉,很可能就是依赖包没装好

创建python文件center.py

# center.pyimport sysfrom PyQt5.QtWidgets import QWidget, QDesktopWidget, QApplication class Example(QWidget):        def __init__(self):        super().__init__()        self.initUI()    def initUI(self):                       self.resize(250, 150)        self.center()        self.setWindowTitle('Center')            self.show()            #控制窗口显示在屏幕中心的方法        def center(self):        #获得窗口        qr = self.frameGeometry()        #获得屏幕中心点        cp = QDesktopWidget().availableGeometry().center()        #显示到屏幕中心        qr.moveCenter(cp)        self.move(qr.topLeft())if __name__ == '__main__':    app = QApplication(sys.argv)    ex = Example()    sys.exit(app.exec_())

运行python center.py可以看到在屏幕中心的窗口,说明代码没问题,这一步很有必要,要是代码跑不起来,编译也没有作用。

编译

pyinstaller不是交叉编译器,exe要在Windows上运行,只能在Windows上编译。

pyinstaller将python代码编译为exe可执行文件在Windows上使用

Python:3.6-3.9
pip install pyinstaller

auto-py-to-exe通过可视化界面使用pyinstaller

Python : 3.5-3.9
pip install auto-py-to-exe
auto-py-to-exe

启动auto-py-to-exe

auto-py-to-exe

单文件

启动之后选择对应文件,先试试单文件,选择基于窗口

对应的命令是:

pyinstaller --noconfirm --onefile --windowed --icon "D:/01ubuntu/Icon.ico"  "D:/01ubuntu/center.py"

因为不基于控制台启动则需要依赖于bootloader,找不到bootloader就会报错:


选择基于控制台,也就是启动的时候会弹出终端黑窗口

对应生成的命令:

pyinstaller --noconfirm --onefile --console --icon "D:/01ubuntu/Icon.ico"  "D:/01ubuntu/center.py"

运行成功,生成的exe文件在ouput文件下:

双击center.exe会看到弹出一个黑框,接着pyqt界面就会出来,但是有点慢。

编译成功,只是这个黑窗口有点难看

单目录

对应命令:

pyinstaller --noconfirm --onedir --console --icon "D:/01ubuntu/Icon.ico"  "D:/01ubuntu/center.py"

生成的结果不再是单个exe文件,而是一个文件夹,里面包含了启动center.py需要的各种子文件

里面依旧包含了center.exe可执行文件,但是可以发现,现在的exe小了很多,因为其他部分变成了可见的文件,双击依旧可以打开,而且,这次的启动速度明显快了很多。

完整项目

前面的测试是单个.py文件的的项目,但是实际项目中,一般都不会只是一个文件,而是由很多文件和文件夹,可以通过附加文件添加,这里我的整个工程都在myApp中,主程序是main.py被调用程序是UI_mainWin.py

对应命令:

pyinstaller --noconfirm --onedir --console --icon "D:/01ubuntu/myApp/Icon.ico" --add-data "D:/01ubuntu/myApp/Ui_mainWin.py;." --add-data "D:/01ubuntu/myApp/images;images/"  "D:/01ubuntu/myApp/main.py"

解决找不到bootloader

在编译的时候,杀毒软件很开心的跟我报告他抓到了小偷,结果打开一看,前面的坑竟然是这个邀功的杀毒软件挖的。

点击找回原文件进入他家,发现我要的东西全被杀毒软件锁在小房间

勾选之后点击恢复所选解救大家,还好这些文件还没遭受酷刑

送他们回到他们原本该去的地方

TODO

将编译结果转成可安装文件

到此,相信大家对"pyqt5如何打包成exe可执行文件"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0