教你使用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的Django框架可适配的各种数据库介绍
Jul 15 Python
Python实现身份证号码解析
Sep 01 Python
Python 正则表达式入门(初级篇)
Dec 07 Python
详解Python中 sys.argv[]的用法简明解释
Dec 20 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
Apr 08 Python
Python爬虫实例——爬取美团美食数据
Jul 15 Python
Django数据模型中on_delete使用详解
Nov 30 Python
scrapy-splash简单使用详解
Feb 21 Python
Matplotlib绘制混淆矩阵的实现
只需要100行Python代码就可以实现的贪吃蛇小游戏
PyTorch dropout设置训练和测试模式的实现
May 27 #Python
pytorch Dropout过拟合的操作
浅谈pytorch中的dropout的概率p
May 27 #Python
让文件路径提取变得更简单的Python Path库
Pytorch中的数据集划分&正则化方法
You might like
PHP+APACHE实现用户论证的方法
2006/10/09 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
CI框架中site_url()和base_url()的区别
2015/01/07 PHP
php中Redis的应用--消息传递
2017/03/28 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
localStorage的黑科技-js和css缓存机制
2017/02/06 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
微信小程序云开发之使用云数据库
2019/05/17 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
使用typescript快速开发一个cli的实现示例
2020/12/09 Javascript
Python3.6正式版新特性预览
2016/12/15 Python
python实现TF-IDF算法解析
2018/01/02 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
详解Django 时间与时区设置问题
2019/07/23 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
在职研究生自我鉴定
2013/10/16 职场文书
护理专业毕业生自荐信范文
2014/01/05 职场文书
爱情检讨书大全
2014/01/21 职场文书
小学班主任自我评价
2015/03/11 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
详解CocosCreator项目结构机制
2021/04/14 Javascript
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫