关于py2exe和pyinstaller打包对比和总结(个人见解)
pyinstaller 打包文件
相信很多小伙伴将写的Python代码打包成 .exe文件时使用Python3的Pyinstaller打包工具,下面是pyinstaller的一些参数和命令
pyinstaller -F 文件.py 生成单个可执行文件
pyinstaller -w 文件.py 去掉控制台窗口,对于执行文件没有多大的用处,一般用于GUI面板代码文件
pyinstaller - -icon = 图标路径 表示可执行文件的图标
pyinstaller -c 使用控制台无窗口
pyinstaller -D 生成一个文件夹包括依赖文件
pyinstaller -p 添加Python使用的第三方库
pyinstaller -K 当包含tcl和tk也就是使用tkinter时加上-K参数
例如pyinstaller -F - -icon = 图标文件绝对路径 文件.py
常用的是pyinstaller -F 和pyinstaller -D
py2exe打包文件
py2exe将Python文件打包成.exe文件,py2exe有一定的限制性用在python2版本或者python3.4版本一下
import sys
reload(sys)
sys.setdefaultencoding('utf8')#设置Python2编码为utf8编码 原Python2代码为ASCII编码
具体情况具体修改不能随意而论
# -*- coding:utf8 -*-
#用此代码打包tkinter代码屡试不爽太酷了
from distutils.core import setup
import py2exe
import sys
#设置地柜限制次数
sys.setrecursionlimit(1000000)
if len(sys.argv) == 1:sys.argv.append("py2exe")sys.argv.append("-q")
setup(windows=[r"文件.py"],options = { "py2exe":{"dll_excludes":["MSVCP90.dll","libopenblas_v0.2.20_mingwpy.dll"]}})#没有MSVC90.dll这个动态依赖库会打包不成功,而libopenblas_v0.2.20_mingwpy.dll在我的程序里没有加的话也不会成功,从网上找了一些资料只需要前边的动态库后边不需要。
setup(
version = " ", #版本号
name = " ",#名称
description = " ",#描述
zipfile = None, #不生成library.zip文件
options ={
"py2exe":{"compressed":1, #创建压缩的zip文件大小3:1"optimize":0,#优化等级 0表示不优化 ,1表示普通优化,2表示额外优化"unbuffered":True,#使用未缓冲的二进制stderr和stdout"bundle_files":1,#所有文件打包成一个.exe文件"dll_excludes":[]#排除dll文件}}
)
经过时间可以得出结论:有时候用pyinstaller 打包比较合适,例如就一个可以生成执行的文件,但是发现有时候有黑色闪烁的框,而py2exe不会发生这样的状况,生成的可执行文件并且携带的依赖文件的大小要远比pyinstaller的小。因此,具体情况具体分析,当一种状况不可以的时候,可以去尝试其他的方式来达到相同的目的。例如如图:
pyinstaller打包包含tkinter文件如图:
而py2exe打包如图:
相比来说:py2exe要小很多,因此看自己对这两种打包工具的认识,结合自己的情况,然后对自己写的代码进行打包,到时候会有一定的成就感。谢谢采纳。
关于py2exe和pyinstaller打包对比和总结(个人见解)相关推荐
- linux py2exe打包,如何在Ubuntu上使用py2exe(或pyinstaller)创建.exe
鉴于: – Ubuntu – py2exe和pyinstaller – 使用setup.py(或其他)的 Python脚本 from distutils.core import setup impor ...
- pyinstaller打包exe免杀和逆向浅析
微信公众号:乌鸦安全 扫取二维码获取更多信息! 本文首发于先知,免杀跨度时间长.全文:11720字,110图,阅读时间预计:30分钟. https://xz.aliyun.com/t/10450 01 ...
- pyinstaller打包后读不到配置文件的解决方法
2019独角兽企业重金招聘Python工程师标准>>> pyinstaller打包好一个exe后,运行此exe,会把此文件解压缩到 C:\Users\xxxx\AppData\Loc ...
- 参数pyinstaller_Python用PyInstaller打包笔记
Python用PyInstaller打包笔记 为了把python程序发布到没有安装python解释器的Windows环境中使用,需要打包成exe可执行文件.现在常见的python打包工具有cx_Fre ...
- Python使用pyinstaller打包成exe文件,并支持传入外部参(已解决打包后文件大的情况)
目录 一.为什么要打包 二.打包后文件大的问题 三.外部传参 3.1.sys库 3.2.argparse库 四.pyinstaller打包 4.1.安装包 4.2.打包命令 4.3.新环境打包 五.运 ...
- Pyside2 学习系列三:PyInstaller打包项目瘦身(超详细的Pyside2 攻略)
继上一篇文章打包后,发现包太大了,我们现在开始进行瘦身优化. 本项目的所有演示代码:github可在这里下载. 打包只用的工具为PyInstaller. 不想细看的朋友 可以直接跳到 最后 方法对比 ...
- 使用Pyqt5制作GUI界面,并使用pyinstaller打包成exe文件
1:安装需要的第三方库(pyqt5,pyqt5-tools) 如果读者使用的anaconda,在安装完上述两个包之后会出现spyder打开不了的情况,本博客是基于纯python3(重装 的,自己的sp ...
- Python反编译pyinstaller打包的exe文件 从0开始(未加密篇)
因为pyinstaller方便.兼容性相对较好,所以我们会经常见到一些用pyinstaller打包的Python程序,在这里我们了解一下如何对这些打包好的exe文件进行反编译(即反编译出.py文件), ...
- python打包加壳_Python用PyInstaller打包笔记
Python用PyInstaller打包笔记 为了把python程序发布到没有安装python解释器的Windows环境中使用,需要打包成exe可执行文件.现在常见的python打包工具有cx_Fre ...
最新文章
- mysql中设置字符集语句_mysql设置字符集
- 1642: [Usaco2007 Nov]Milking Time 挤奶时间(dp)
- IP管理提高业务网络安全性的3种方式——Vecloud
- 解析super-smack的smack文件
- SQA计划和系统测试规程
- css 网站素装 追忆过去
- HDU1407 测试你是否和LTC水平一样高【暴力】
- 总结几个经典的java陷阱给大家。
- 计算机网络超详细笔记(一):计网概述
- jQuery——常用API
- C语言 while语句的用法
- windows 批量 jpg 转 bmp 方法
- 如何通过抓包来获取数据API
- JsonParseException: Unexpected character (‘sss‘ (code xxx)): was expecting a colon to separ
- 迅雷下载GitHub文件提示需要授权或登录等
- 基于jsp的网络在线考试系统
- 网络兼职圈套你知道多少?拓商提醒您谨防被骗
- 关于hive数据的导入
- 基于QT实现简易音视频播放器
- 【Hive】Hive求所在周的第一天(周一),求所在月的第一天,求所在年的第一天