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检测网页是否有日常链接
Jun 03 Python
python通过wxPython打开一个音频文件并播放的方法
Mar 25 Python
Python字典操作详细介绍及字典内建方法分享
Jan 04 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
python实现二维插值的三维显示
Dec 17 Python
python 多线程串行和并行的实例
Feb 22 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
Pytorch实现的手写数字mnist识别功能完整示例
Dec 13 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
Apr 27 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
基于文本的访客签到簿
2006/10/09 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
javascript 获取图片颜色
2009/04/05 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
boostrapTable的refresh和refreshOptions区别浅析
2017/01/22 Javascript
es6学习笔记之Async函数基本教程
2017/05/11 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
详解Vue 全局引入bass.scss 处理方案
2018/03/26 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
前端路由&webpack基础配置详解
2019/06/10 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
vue mvvm数据响应实现
2020/11/11 Javascript
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
详解Python异常处理中的Finally else的功能
2017/12/29 Python
python设置值及NaN值处理方法
2018/07/03 Python
python中的global关键字的使用方法
2019/08/20 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
django框架两个使用模板实例
2019/12/11 Python
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
惠普香港官方商店:HP香港
2019/04/30 全球购物
注塑工厂厂长岗位职责
2013/12/02 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
2014年勤工助学工作总结
2014/11/24 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python
看完这篇文章获得一些java if优化技巧
2021/07/15 Java/Android