怎么将pyqt5项目打包成exe可执行文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
转exe会遇到很多问题,其中部分是由于python版本不合适引起的,如果可以,尽量用3.5或3.6版本。
在Windows上安装python3.6.8
安装时勾选Add to path
选项添加到环境变量
打开终端查看版本:
python -V pip -V
安装包:
pip isntall pyinstaller pip install auto-py-to-exe pip install pyqt5
如果代码中有其他依赖包也要对应安装好,要是编译成功后,打开之后程序直接死掉,很可能就是依赖包没装好
创建python文件center.py
# center.py import sys from 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"
在编译的时候,杀毒软件很开心的跟我报告他抓到了小偷,结果打开一看,前面的坑竟然是这个邀功的杀毒软件挖的。
点击找回原文件
进入他家,发现我要的东西全被杀毒软件锁在小房间
勾选之后点击恢复所选
解救大家,还好这些文件还没遭受酷刑
送他们回到他们原本该去的地方
关于怎么将pyqt5项目打包成exe可执行文件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。