教你使用pyinstaller打包Python教程


Posted in Python onMay 27, 2021

一、单个文件打包

1.1 简单打包

例如现在有一个main.py文件内容如下

import os
print("hello world")
os.system("pause")

运行结果如图

教你使用pyinstaller打包Python教程

现在用一下命令打包成一个可执行文件pyinstaller -F main.py

再同级目录下生成一个dist文件夹里面就会生成一个可执行文件,双击就可以执行

教你使用pyinstaller打包Python教程

1.2 带图标打包

有的时候为了美观,可以给可执行文件加一个图标,这时用这个命令pyinstaller -F main.py-i filename.ico

打包完成后把这个ico文件复制到dst和可执行文件一起就可以了

教你使用pyinstaller打包Python教程

二、项目多文件打包

上面只是一些简单的demo打包成可执行文件的简单方式,大多数时候需要打包的都是多个文件的项目,这个时候就会复杂一些,主要使用一下命令进行pyinstaller -D main.py -p other1.py -p other2.py [-w] -i flie.ico

对部分命令解释:

命令 作用
-F 打包成一个exe文件,就是不管原文件时多少个最终生成只是一个exe可执行文件,这种方式再大型项目中不适用,打开程序太慢
-D 以依赖的方式打包,类似于平时安装工具的方式,会有一对的库文件,一般项目建议这种方式
-p 主文件以外其他用到的python文件
-w 运行程序的时候不显示终端。如果不加的话就是做了UI界面,运行的时候也会跳出终端,这个视情况决定
-i 加载图标文件

这是部分用到的命令的解释,还有其他命令可以上官网查看文档查询。

例程如下:

有个项目有4个Python文件运行主程序效果如图

教你使用pyinstaller打包Python教程

用此命令打包pyinstaller -D MysherTools.py -p BLC.py -p consistencyCheck.py -p ui.py -w -i .\inco\tool.ico

生成如图所示的文件

教你使用pyinstaller打包Python教程

双击运行exe可执行文件效果如图

教你使用pyinstaller打包Python教程

一般出现如上的提示,都是用到的静态文件没有放在指定路径下,因为打包的时候ico文件是放在icon目录下,所以需要将这个目录拷贝到可执行文件的路径下。放到指定位置后运行正常如图

教你使用pyinstaller打包Python教程

注意:文件用到的静态文件一定要保证路径正常,不然运行会出错。

三、打包后文件太大

一般如果直接这么打包会导致打包后的文件特别大,这时候就需要创建一个虚拟环境,只安装项目需要的库文件,然后再打包,这样就会小很多,因为python环境下没用到的库也被打包进去导致体积太大。

到此这篇关于教你使用pyinstaller打包Python教程的文章就介绍到这了,更多相关pyinstaller打包Python内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
解决谷歌搜索技术文章时打不开网页问题的python脚本
Feb 10 Python
Python实现的简单万年历例子分享
Apr 25 Python
python开发之thread线程基础实例入门
Nov 11 Python
基于DataFrame筛选数据与loc的用法详解
May 18 Python
Python 对输入的数字进行排序的方法
Jun 23 Python
python实现感知器算法(批处理)
Jan 18 Python
Python可变对象与不可变对象原理解析
Feb 25 Python
Python实现Word表格转成Excel表格的示例代码
Apr 16 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
Jun 11 Python
python3 简单实现组合设计模式
Jul 02 Python
Python如何输出百分比
Jul 31 Python
Matplotlib绘制混淆矩阵的实现
只需要100行Python代码就可以实现的贪吃蛇小游戏
PyTorch dropout设置训练和测试模式的实现
May 27 #Python
pytorch Dropout过拟合的操作
浅谈pytorch中的dropout的概率p
May 27 #Python
让文件路径提取变得更简单的Python Path库
Pytorch中的数据集划分&正则化方法
You might like
第十二节 类的自动加载 [12]
2006/10/09 PHP
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
PHP Cookie的使用教程详解
2013/06/03 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
5款Javascript颜色选择器
2009/10/25 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
JavaScript学习点滴 call、apply的区别
2010/10/22 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
Python中的推导式使用详解
2015/06/03 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
Python实现点云投影到平面显示
2020/01/18 Python
python实现简单的tcp 文件下载
2020/09/16 Python
如何利用cmp命令比较文件
2013/09/23 面试题
七年级数学教学反思
2014/01/22 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
教师节演讲稿
2014/05/06 职场文书
民主评议党员自我鉴定
2014/10/21 职场文书
周年庆典答谢词
2015/01/20 职场文书