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基础教程之基本内置数据类型介绍
Feb 20 Python
Python实现的数据结构与算法之链表详解
Apr 22 Python
django定期执行任务(实例讲解)
Nov 03 Python
TensorFlow 滑动平均的示例代码
Jun 19 Python
django认证系统实现自定义权限管理的方法
Jul 16 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
Python的argparse库使用详解
Oct 09 Python
Python3爬虫学习入门教程
Dec 11 Python
django序列化serializers过程解析
Dec 14 Python
Python使用py2neo操作图数据库neo4j的方法详解
Jan 13 Python
详解python中groupby函数通俗易懂
May 14 Python
Python使用re模块验证危险字符
May 21 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大转盘中奖概率算法实例
2014/10/21 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
AngularJS实现全选反选功能
2015/12/08 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
jQuery插件dataTables添加序号列的方法
2016/07/06 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
Django 前后台的数据传递的方法
2017/08/08 Python
python实现电子书翻页小程序
2019/07/23 Python
python实现ping命令小程序
2020/12/28 Python
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
天鹅的故事教学反思
2014/02/04 职场文书
个人优缺点总结
2015/02/28 职场文书
2015国庆节宣传语
2015/07/14 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python
MySQL存储过程及语法详解
2022/08/05 MySQL