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 相关文章推荐
使用IronPython把Python脚本集成到.NET程序中的教程
Mar 31 Python
python去除空格和换行符的实现方法(推荐)
Jan 04 Python
TensorFlow实现创建分类器
Feb 06 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
Python实现多条件筛选目标数据功能【测试可用】
Jun 13 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
python实现本地图片转存并重命名的示例代码
Oct 27 Python
Jupyter notebook无法导入第三方模块的解决方式
Apr 15 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
Apr 20 Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 Python
python re模块常见用法例举
Mar 01 Python
python实现监听键盘
Apr 26 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
使用Apache的rewrite技术
2006/06/22 PHP
开源SNS系统-ThinkSNS
2008/05/18 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
详解Python编程中time模块的使用
2015/11/20 Python
详解python eval函数的妙用
2017/11/16 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
十分钟利用Python制作属于你自己的个性logo
2018/05/07 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
python导入pandas具体步骤方法
2019/06/23 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
Python二元赋值实用技巧解析
2019/10/25 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
python 爬取小说并下载的示例
2020/12/07 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
美国在线珠宝商店:SZUL
2017/02/11 全球购物
2014年大学教师工作总结
2014/12/02 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书