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实现的数据结构与算法之链表详解
Apr 22 Python
python实现一次创建多级目录的方法
May 15 Python
Django项目中用JS实现加载子页面并传值的方法
May 28 Python
使用11行Python代码盗取了室友的U盘内容
Oct 23 Python
pycharm 将python文件打包为exe格式的方法
Jan 16 Python
使用Python3内置文档高效学习以及官方中文文档
May 19 Python
Python搭建代理IP池实现获取IP的方法
Oct 27 Python
numpy 声明空数组详解
Dec 05 Python
Python 实现网课实时监控自动签到、打卡功能
Mar 12 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
基于tensorflow for循环 while循环案例
Jun 30 Python
django中websocket的具体使用
Jan 22 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
php验证是否是md5编码的简单代码
2014/04/01 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
jquery获取节点名称
2015/04/26 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
2017/07/24 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
详解在Python程序中使用Cookie的教程
2015/04/30 Python
python妙用之编码的转换详解
2017/04/21 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
python实现图片插入文字
2019/11/26 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
css sprite简单实例
2016/05/23 HTML / CSS
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
生物技术专业研究生自荐信
2013/09/22 职场文书
模具专业推荐信
2013/10/30 职场文书
大学生求职推荐信
2013/11/27 职场文书
求职信模版
2013/11/30 职场文书
五年级语文教学反思
2014/01/30 职场文书
银行求职信怎么写
2014/05/26 职场文书
中小学生学籍证明
2014/10/25 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
趣味运动会赞词
2015/07/22 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
高质量“欢迎词”
2019/04/03 职场文书
django中websocket的具体使用
2022/01/22 Python
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript