python将多个py文件和其他文件打包为exe可执行文件
作者:??Python编程学习圈???? 发布时间:2021-07-02 05:36:40
标签:python,py,打包,文件,exe,执行
前言:
最近在学习PYQT5,感觉还挺有趣的,顺便记录一下自己的打包记录,也就当学习笔记啦,如果刚好也在学习python打包的小伙伴可以学一学哦。
1、准备好打包文件
首先准备好将要打包的工程文件(/夹)。在这个文件下,我们将frame_main.py当做主程序。
2、下载安装Pyinstaller
在 cmd 中进入我们当前的python环境中,并进入当前项目的文件夹下:
下载安装Pyinstaller
3、生成.spec文件
.spec文件为安装配置文件,作用是对可执行文件进行配置!因为我们把frame_main.py 当做主程序,所以输入如下命令
pyi-makespec frame_main.py
可以看到此时文件夹下生成了一个 frame_main.spec 文件,其内容如下:
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['frame_main.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='frame_main',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True,
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='frame_main')
4、配置.spec文件
我们需要对其进行配置,包括文件和静态资源(图片等),
在Analysis 加入所有py文件,datas中加入所有静态资源。还有exe文件的图标,记住图标用绝对路径。
5、生成exe文件
输入命令:
pyinstaller -F -w frame_main.spec
(备注:-F是将一个文件打包而成的,-w是运行时不出现黑色窗口的)
打包完成之后会在当前目录文件夹下生成一个dist文件夹,打开之后会发现我们的 exe 文件。
双击 exe 文件,竟然会发现怎么还是会出现黑色窗口呢,也就是控制台。
经过我师弟的点拨,终于发现了问题的所在,将spec文件中的 :
console = True
改为:
console = False
继续运行,再次打包。
pyinstaller -F -w frame_main.spec
双击 exe 文件
这样就不会出现黑框啦.....
来源:https://juejin.cn/post/7099632026827833352
0
投稿
猜你喜欢
- 1) 知识准备:为了使用Perl语言去存取mSQL和MySQL数据库的内容,必须安装一些API模块,以下列出一些必须安装的模块名称说明和其下
- 前言读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都
- 我用asp+access写程序, sql="select *&
- 本文实例讲述了Python List列表对象内置方法。分享给大家供大家参考,具体如下:前言在上一篇中介绍了Python的序列和String类
- 下面是最终代码 (windows下实现的) # -*- coding: cp936 -*- import os path = 'D:
- 网页过渡是指当浏览者进入或离开网页时,页面呈现的不同的刷新效果,比如卷动、百叶窗等。这样你的网页看起来
- 描述Python 字典(Dictionary) copy() 函数返回一个字典的浅复制。语法copy()方法语法:dict.copy()返回
- 英文文档:setattr(object, name, value)This is the counterpart of getattr().
- 以下代码以Python3.6.1为例hashlib : 不可逆加密hmac : 不可逆键值对方式加密hashlib模块简介:hashlib模
- 这段时间写了很多页面代码,除了一些知识重复以外,也学到css的一些新东西,或许是旧东西,但是还是希望能对大家有用。其实在css里面有很多对a
- DFA 算法是通过提前构造出一个 树状查找结构,之后根据输入在该树状结构中就可以进行非常高效的查找。设我们有一个敏感词库,词酷中的词汇为:我
- python远程控制电脑的具体代码,供大家参考,具体内容如下python拥有大量的第三方库,且语法简单。今天老杨就用python实现远程控制
- 1、PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了
- django {% url %} 模板标签使用inclusions/_archives.html...{% for date in date
- 前言:这里再回顾一下函数的local空间,首先我们往global空间添加一个键值对相当于定义一个全局变量,那么如果往函数的local空间里面
- 一、Sql Server中的日期与时间函数 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加
- Bootstrap提供了四种用于<img>类的样式,分别是:.img-rounded:圆角 (IE8 不支持),添加 borde
- 问题重述实习项目要做安全帽目标检测,拿到了公司给的一些视频数据,使用Opencv读取视频并每隔 1 s 1s 1s存储一副图像,下面是一些视
- Event事件用来控制线程的执行出现e.wait(),就会把这个线程设置为False,就不能执行这个任务;只要有一个线程出现e.set(),
- 现在同类型的网站数不胜数,网站的功能或服务日趋同质化,大的方面看不出什么差别,差别就体现在细节上。“窥斑见豹”,细节成为网站最有力的表现形式