Win下PyInstaller 安装和使用教程


Posted in Python onDecember 25, 2019

简介

PyInstaller可以将Python源代码发布成Win/MacOS等系统中的可执行文件。对开发者而言隐藏了源码实现,保护了知识产权。对使用者而言不用装环境,傻瓜式的双击就可以运行程序。

PyInstaller常见命令

如下所示:

Win下PyInstaller 安装和使用教程

命令 说明-F生成单个可执行文件-D ?onedir创建一个目录,包含exe文件,但会依赖很多文件(默认选项)-w表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧-c ?console, ?nowindowed使用控制台,无界面(默认)-p自定义需要加载的类路径,一般情况下用不到-i可执行文件的图标-v查看版本信息-h查看帮助信息

安装PyInstaller

流程如下所示:

1.下载PyInstaller,这里我选择的是PyInstaller-3.5.tar.gz版本。如图所示:

Win下PyInstaller 安装和使用教程

2.解压PyInstaller-3.5.tar.gz到桌面;然后在setup.py文件所在的目录处打开cmd。如图所示:

Win下PyInstaller 安装和使用教程3.

由于python3.7.4在安装时顺带安装了setuptools,所以我们可以直接使用"python setup.py install"命令来安装PyInstaller;然后使用"pyinstaller -v"查看版本信息来验证是否安装成功。如图所示:

Win下PyInstaller 安装和使用教程

使用PyInstaller

流程如下所示:

1.我现在需要对test/app.py文件生成一个具有test/app.ico图标样式的可执行文件app.exe。此时就需要在app.py所在目录打开cmd;然后执行"pyinstaller -F -w -i app.ico app.py"命令来生成可执行文件app.exe。

app.py源码如下所示

参考pyqt5-win安装和使用来设置pyqt5的环境。

#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
Py40 PyQt5 tutorial
In this example, we create a bit
more complicated window layout using
the QGridLayout manager.
author: Jan Bodnar
website: py40.com
last edited: January 2015
"""
import sys
from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit,
  QTextEdit, QGridLayout, QApplication)
class Example(QWidget):
 def __init__(self):
 super().__init__()
 self.initUI()
 def initUI(self):
 title = QLabel('Title')
 author = QLabel('Author')
 review = QLabel('Review')
 titleEdit = QLineEdit()
 authorEdit = QLineEdit()
 reviewEdit = QTextEdit()
 grid = QGridLayout()
 grid.setSpacing(10)
 grid.addWidget(title, 1, 0)
 grid.addWidget(titleEdit, 1, 1)
 grid.addWidget(author, 2, 0)
 grid.addWidget(authorEdit, 2, 1)
 grid.addWidget(review, 3, 0)
 grid.addWidget(reviewEdit, 3, 1, 5, 1)
 self.setLayout(grid)
 self.setGeometry(300, 300, 350, 300)
 self.setWindowTitle('Review')
 self.show()
if __name__ == '__main__':
 app = QApplication(sys.argv)
 ex = Example()
 sys.exit(app.exec_())

命令执行如图所示

Win下PyInstaller 安装和使用教程

2.使用PyInstaller成功发布可执行文件后,会在app.py文件所在的目录中生成__pycache__,build,dist,app.spec等文件或者目录。其中dist目录中会存在一个具有app.ico样式的可执行文件app.exe,此时直接双击app.exe就可以执行了。如图所示:

Win下PyInstaller 安装和使用教程

总结

以上所述是小编给大家介绍的Win下PyInstaller 安装和使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python发送伪造的arp请求
Jan 09 Python
python计算圆周长、面积、球体体积并画出圆
Apr 08 Python
python字符串对其居中显示的方法
Jul 11 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 Python
python文本数据相似度的度量
Mar 12 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
利用Python求阴影部分的面积实例代码
Dec 05 Python
Python完成哈夫曼树编码过程及原理详解
Jul 29 Python
python中树与树的表示知识点总结
Sep 14 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 Python
Python配置pip国内镜像源的实现
Aug 20 Python
python通过函数名调用函数的几种场景
Sep 23 Python
如何在mac环境中用python处理protobuf
Dec 25 #Python
Python Print实现在输出中插入变量的例子
Dec 25 #Python
django数据模型(Model)的字段类型解析
Dec 25 #Python
python装饰器的特性原理详解
Dec 25 #Python
Python将列表中的元素转化为数字并排序的示例
Dec 25 #Python
python中的subprocess.Popen()使用详解
Dec 25 #Python
python打印n位数“水仙花数”(实例代码)
Dec 25 #Python
You might like
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
用php+javascript实现二级级联菜单的制作
2008/05/06 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
javascript 原型继承介绍
2011/08/30 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
在Lighttpd服务器中运行Django应用的方法
2015/07/22 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
简单了解python中对象的取反运算符
2019/07/01 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
python 基于Apscheduler实现定时任务
2020/12/15 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
2014高三学生考试作弊检讨书
2014/12/14 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
小时代观后感
2015/06/10 职场文书
干部考核工作总结2015
2015/07/24 职场文书
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android