教你使用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数据结构之二叉树的建立实例
Apr 29 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
Jul 01 Python
Python语言描述随机梯度下降法
Jan 04 Python
Python3.6简单反射操作示例
Jun 14 Python
pycharm安装和首次使用教程
Aug 27 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
python 列表输出重复值以及对应的角标方法
Jun 11 Python
Pycharm连接远程服务器并实现远程调试的实现
Aug 02 Python
Python函数装饰器原理与用法详解
Aug 16 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
Tensorflow 模型转换 .pb convert to .lite实例
Feb 12 Python
PyQt5 QDockWidget控件应用详解
Aug 12 Python
Matplotlib绘制混淆矩阵的实现
只需要100行Python代码就可以实现的贪吃蛇小游戏
PyTorch dropout设置训练和测试模式的实现
May 27 #Python
pytorch Dropout过拟合的操作
浅谈pytorch中的dropout的概率p
May 27 #Python
让文件路径提取变得更简单的Python Path库
Pytorch中的数据集划分&正则化方法
You might like
PHP数组及条件,循环语句学习
2012/11/11 PHP
php中使用$_REQUEST需要注意的一个问题
2013/05/02 PHP
PHP使用递归生成文章树
2015/04/21 PHP
php生成curl命令行的方法
2015/12/14 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
菜鸟javascript基础资料整理2
2010/12/06 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
js选择器全面解析
2016/06/27 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
2016/08/01 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
python处理圆角图片、圆形图片的例子
2014/04/25 Python
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
Python提取频域特征知识点浅析
2019/03/04 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
python多线程并发及测试框架案例
2019/10/15 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
什么是唯一索引
2015/07/05 面试题
新闻报道策划方案
2014/06/11 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
Python图像处理库PIL详细使用说明
2022/04/06 Python