使用pyinstaller打包Python3.5+PyQt5.6项目生成exe文件
来源:互联网 发布:黑社会2 知乎 编辑:程序博客网 时间:2024/05/27 19:27
本文主要介绍如何通过pyinstaller对PyQt5项目进行打包,生成可执行的exe文件。主要针对Python3.5+PyQt5.6的环境。
1、Python3.5+PyQt5.6安装
首先需要安装PyQt5.6+Python3.5编译环境,可以参考我们上一篇文章Python3.5+PyQt5.6环境搭建。安装完成后,可以运行PyQt项目。
2、pywin32安装
pywin32是安装pyinstaller的必备项。但Python5的pip无法找到匹配的pywin32版本,pyinstaller安装时也无法自动安装pywin32。因而我们要自行下载python3.5版本可用的pywin32程序进行安装。
可以从如下地址下载Python3.5可用的pywin32:下载地址。
注意:上述版本为python3.5 64位的,如果python3.5等为32位或v3.6,可以下载32位版本。其他各版本的下载地址为(下载地址)
3、pyinstaller安装
完成上述步骤后,可以安装pyinstaller。有两种途径完成安装。
一是通过pip进行安装。
pip install pyinstaller
二是从pyinstaller官网下载安装包安装pyinstaller-3.2。下载地址
4、pyinstaller使用方法
使用方法非常简单。因为该版本的pyinstaller已经在Python\scripts目录下生成可执行的pyinstaller.exe文件,所以可以直接在cmd命令行,进入需要打包的代码所在文件夹后,运行下面命令
pyinstaller [opts] yourprogram.py
可选的opts有:
-F, –onefile 打包成一个exe文件。
-D, –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)。
-c, –console, –nowindowed 使用控制台,无界面(默认)
-w, –windowed, –noconsole 使用窗口,无控制台
5、打包测试
采用一个calculator的代码对pyinstaller进行测试。
import sysfrom math import *from PyQt5.QtCore import *from PyQt5.QtWidgets import (QApplication, QDialog, QLineEdit, QTextBrowser, QVBoxLayout)class Form(QDialog): def __init__(self, parent=None): super(Form, self).__init__(parent) self.browser = QTextBrowser() self.lineedit = QLineEdit("Type an expression and press Enter") self.lineedit.selectAll() layout = QVBoxLayout() layout.addWidget(self.browser) layout.addWidget(self.lineedit) self.setLayout(layout) self.lineedit.setFocus() self.lineedit.returnPressed.connect(self.updateUi) self.setWindowTitle("Calculate") def updateUi(self): try: text = self.lineedit.text() self.browser.append("%s = <b>%s</b>" % (text, eval(text))) except: self.browser.append("<font color=red>%s is invalid!</font>" % text) self.lineedit.setText('')if __name__=="__main__": app = QApplication(sys.argv) form = Form() form.show() app.exec_()
代码保存为calculator.py,直接用python解释器运行,可以得到如下窗口:
打开命令行窗口,进入calculator.py所在目录。运行下面指令
pyinstaller -F -w calculator.py
pyinstaller自动执行一系列过程
最后在同目录下的dist文件夹中生成了calculator.exe。
calculator.exe运行效果与之前直接用解释器运行相同
说明:calculator.exe可以在其他未装python的windows系统上运行。但由于采用64位python及pyinstaller,所以只能在64位系统运行
- 使用pyinstaller打包Python3.5+PyQt5.6项目生成exe文件
- python3.5、pyqt5项目,pyinstaller打包exe
- 使用pyinstaller工具打包python项目代码生成exe文件
- 利用pyinstaller将Python3.6文件打包成exe程序
- 使用pyinstaller将python3.6脚本打包为exe
- 使用pyinstaller将Python3.6文件打包成可执行文件
- Python进阶(四十七)-python3使用pyinstaller实现将py文件打包成exe文件
- PyQt5系列教程(十)pyinstaller打包exe
- pyinstaller打包exe文件
- 使用pyinstaller打包python为exe文件
- 使用pyinstaller打包python为exe文件
- 使用pyinstaller打包python为exe文件
- Python学习 Python3.5+PyQt5环境--------03、使用PyInstaller3.2.1把py文件打包成exe文件
- 利用pyinstaller将python3程序打包为exe文件
- 使用Pyinstaller打包exe
- 完美解决python3.6环境下,使用pyinstaller打包.exe时报错的情况。
- 使用pyinstaller打包pyqt5出错问题解决
- 使用pyinstaller打包pyqt5出错问题解决
- python numpy中nonzero()的用法
- 标签的使用(二)
- [PAT]1012. The Best Rank (25)
- IME 消息 函数 常量
- 来来来,一步一步带你使用Git和GitHub(详细讲解.gitignore)
- 使用pyinstaller打包Python3.5+PyQt5.6项目生成exe文件
- 京城游戏人-Day11: Unity 中实现 IAP 内购(内付费)
- Tomcat8.x Request、Response创建的地方
- 京城游戏人-Day12: Unity 中 UI 随屏幕大小等比缩放
- poj 2187
- 同余方程组求解
- 用C语言改写C++的类
- 51Nod-1100-斜率最大
- Ubuntu14.10环境下MySQL5.6.23源码安装MySQL安装小结