教你使用pyinstaller打包Python教程
作者:wtzhu_13 发布时间:2021-01-20 01:07:28
一、单个文件打包
1.1 简单打包
例如现在有一个main.py文件内容如下
import os
print("hello world")
os.system("pause")
运行结果如图
现在用一下命令打包成一个可执行文件pyinstaller -F main.py
再同级目录下生成一个dist文件夹里面就会生成一个可执行文件,双击就可以执行
1.2 带图标打包
有的时候为了美观,可以给可执行文件加一个图标,这时用这个命令pyinstaller -F main.py-i filename.ico
打包完成后把这个ico文件复制到dst和可执行文件一起就可以了
二、项目多文件打包
上面只是一些简单的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 -D MysherTools.py -p BLC.py -p consistencyCheck.py -p ui.py -w -i .\inco\tool.ico
生成如图所示的文件
双击运行exe可执行文件效果如图
一般出现如上的提示,都是用到的静态文件没有放在指定路径下,因为打包的时候ico文件是放在icon目录下,所以需要将这个目录拷贝到可执行文件的路径下。放到指定位置后运行正常如图
注意:文件用到的静态文件一定要保证路径正常,不然运行会出错。
三、打包后文件太大
一般如果直接这么打包会导致打包后的文件特别大,这时候就需要创建一个虚拟环境,只安装项目需要的库文件,然后再打包,这样就会小很多,因为python环境下没用到的库也被打包进去导致体积太大。
来源:https://blog.csdn.net/wtzhu_13/article/details/117225925
猜你喜欢
- 1.介绍 在计算机科学中,数据可以用很多不同的方式表示,自然而然地,每一种方式在某些领域都有其优点和
- pytorch默认使用单精度float32训练模型,原因在于:使用float16训练模型,模型效果会有损失,而使用double(float6
- 前言:我们知道,python代码文件大多数都是py类型。那么,能不能使用txt文件存储我们的代码呢?python这么强大的语言当然可以做大,
- 近来想要做一做人脸识别相关的内容,主要是想集成一个系统,看到opencv已经集成了三种性能较好的算法,但是还是想自己动手试一下,毕竟算法都比
- 概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. 高
- 由于跑编码的需要,所以需要制作一个.yuv格式的图片数据集,但是手头只有.jpg格式的,故记录下转换过程。其他图片格式也可以,代码里修改一下
- 代码如下import osimport cv2for i in range(1,201): if i==169 or i==18
- 好久没有更新博客了,今天看到论坛上有位朋友问起全屏布局,有点像vc的界面。来了兴趣,就写了一个。运用IE6的怪异模式,通过绝对定位来实现的。
- 1. 引言如果能够将我们的无序数据快速组织成更易读的格式,对于数据分析非常有帮助。 Python 提供了将某些表格数据类型轻松转换为格式良好
- 以前没见过这个效果,滚动纵向滚动条看看效果就明白了这样的效果,广告商应该比较喜欢。<!DOCTYPE html PUBLIC &quo
- 本文实例讲述了Python排序搜索基本算法之希尔排序。分享给大家供大家参考,具体如下:希尔排序是插入排序的扩展,通过允许非相邻的元素进行交换
- 本文实例为大家分享了opencv+python实现图像矫正的具体代码,供大家参考,具体内容如下需求:将斜着拍摄的文本图像进行矫正python
- QQ邮箱最新推出了一个授权码,需已验证的手机号向QQ邮箱服务器发送一条短信获得。该授权码用于第三方客户端登录,代替了第三方登录时使用的个人邮
- 前言最近,我已经成功将我的个人网站从 Flask 迁移到 Django 了,最早接触 Django 的时候大概是在 4 年前,我记得那个时候
- 很多网站注册时都会要求输入电子邮箱,其应用场景是比较广的,例如注册账号接收验证码、注册成功通知、登录通知、找回密码验证通知等。本文将介绍如何
- 倒排索引一 倒排索引是什么倒排索引源于实际应用中需要根据属性的值来查找记录,这种索引表中的每一个项都包括一个属性值和具有该属性值的各记录的地
- 一般情况下编译安装python环境需要执行以下步骤:下载源码包解压源码包安装配置编译以及编译安装TALK IS CHEAP, SHOW YO
- 这篇文章主要介绍了基于Python批量生成指定尺寸缩略图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- Python是一种高级编程语言,它在众多编程语言中,拥有极高的人气和使用率。Python中的多线程和线程池是其强大的功能之一,可以让我们更加
- alert table 表名 add column 列名 alter table 表名 drop column 列名 eg: alter t