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 相关文章推荐
pyqt和pyside开发图形化界面
Jan 22 Python
用Python解决计数原理问题的方法
Aug 04 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
Flask-Mail用法实例分析
Jul 21 Python
python实现多进程代码示例
Oct 31 Python
Python3 max()函数基础用法
Feb 19 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
python 控制台单行刷新,多行刷新实例
Feb 19 Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 Python
如何利用python发送邮件
Sep 26 Python
pycharm2020.1.2永久破解激活教程,实测有效
Oct 29 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中的多态性[译]
2011/08/02 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
2016/05/12 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
2014/11/20 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
Python 不同对象比较大小示例探讨
2014/08/21 Python
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
django rest framework之请求与响应(详解)
2017/11/06 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
Python封装原理与实现方法详解
2018/08/28 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
python如何爬取动态网站
2020/09/09 Python
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
服装设计专业自荐书范文
2013/12/30 职场文书
小学开学典礼主持词
2014/03/19 职场文书
国贸专业求职信
2014/06/28 职场文书
毕业典礼主持词
2015/06/29 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
导游词之山东八大关
2019/12/18 职场文书
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
golang 语言中错误处理机制
2021/08/30 Golang
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS