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代码嵌入C++程序进行编写的实例
Jul 31 Python
Python设计模式中单例模式的实现及在Tornado中的应用
Mar 02 Python
Python实现PS滤镜功能之波浪特效示例
Jan 26 Python
使用requests库制作Python爬虫
Mar 25 Python
查看python安装路径及pip安装的包列表及路径
Apr 03 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
Jun 04 Python
用Python调用win命令行提高工作效率的实例
Aug 14 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
Python3 文章标题关键字提取的例子
Aug 26 Python
Python 脚本拉取 Docker 镜像问题
Nov 10 Python
Python Numpy,mask图像的生成详解
Feb 19 Python
5行Python代码实现图像分割的步骤详解
May 25 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
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
javascript各种复制代码收集
2008/09/20 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
NodeJS Web应用监听sock文件实例
2015/02/18 NodeJs
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
Python实现代码统计工具(终极篇)
2016/07/04 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
python内打印变量之%和f的实例
2020/02/19 Python
python实现udp聊天窗口
2020/03/31 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
中专生职业生涯规划书范文
2013/12/29 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
访谈节目策划方案
2014/05/15 职场文书
五一口号
2014/06/19 职场文书
护理培训心得体会
2016/01/22 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书
python基础之匿名函数详解
2021/04/21 Python