教你使用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开发编码规范
Sep 08 Python
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
Dec 08 Python
跟老齐学Python之字典,你还记得吗?
Sep 20 Python
分享一个常用的Python模拟登陆类
Mar 29 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
python+pyqt5实现24点小游戏
Jan 24 Python
Python 实现数据结构中的的栈队列
May 16 Python
PyQt5重写QComboBox的鼠标点击事件方法
Jun 25 Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 Python
Python 从subprocess运行的子进程中实时获取输出的例子
Aug 14 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
python pymysql链接数据库查询结果转为Dataframe实例
Jun 05 Python
Matplotlib绘制混淆矩阵的实现
只需要100行Python代码就可以实现的贪吃蛇小游戏
PyTorch dropout设置训练和测试模式的实现
May 27 #Python
pytorch Dropout过拟合的操作
浅谈pytorch中的dropout的概率p
May 27 #Python
让文件路径提取变得更简单的Python Path库
Pytorch中的数据集划分&正则化方法
You might like
ftp类(myftp.php)
2006/10/09 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
php中return的用法实例分析
2015/02/28 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
javascript 内存回收机制理解
2011/01/17 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
Python实现从订阅源下载图片的方法
2015/03/11 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
python爬虫爬取微博评论案例详解
2019/03/27 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
使用python去除图片白色像素的实例
2019/12/12 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
关于django python manage.py startapp 应用名出错异常原因解析
2020/12/15 Python
python switch 实现多分支选择功能
2020/12/21 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
MIKI HOUSE美国官方网上商店:日本领先的婴儿和儿童高级时装品牌
2020/06/21 全球购物
自我评价个人范文
2013/12/16 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL
Python使用华为API为图像设置多个锚点标签
2022/04/12 Python
nginx rewrite功能使用场景分析
2022/05/30 Servers