python将多个py文件和其他文件打包为exe可执行文件
作者:??Python编程学习圈???? 时间:2021-07-02 05:36:40
前言:
最近在学习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
标签:python,py,打包,文件,exe,执行
0
投稿
猜你喜欢
微信小程序实现上传视频功能
2023-08-24 16:18:42
JavaScript caller与callee属性
2009-01-19 13:39:00
Python实现随机取一个矩阵数组的某几行
2021-10-04 16:45:52
详解vue模拟加载更多功能(数据追加)
2024-05-22 10:41:44
利用Python自制网页并实现一键自动生成探索性数据分析报告
2023-01-19 13:20:12
7个Python中的隐藏小技巧分享
2022-06-20 22:36:14
Python中Continue语句的用法的举例详解
2023-04-04 13:12:37
如何对PHP程序中的常见漏洞进行攻击(下)
2023-11-16 14:50:19
vue2.0.js的多级联动选择器实现方法
2024-04-28 09:23:37
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2021-06-06 01:26:54
降低锁竞争 减少MySQL用户等待时间
2011-03-11 18:58:00
解决给dom元素绑定click等事件无效问题的方法
2024-04-16 10:36:42
python实现人像动漫化的示例代码
2021-08-16 06:36:17
Python实现读写INI配置文件的方法示例
2021-03-16 08:10:08
教你利用Selenium+python自动化来解决pip使用异常
2022-11-17 18:49:08
Python实现判断字符串中包含某个字符的判断函数示例
2023-03-21 03:43:51
Python numpy中的ndarray介绍
2022-11-06 19:17:59
Spring数据库事务的实现机制讲解
2024-01-19 11:32:10
Python中str.format()详解
2023-01-12 13:26:47
解决Pytorch在测试与训练过程中的验证结果不一致问题
2022-08-18 03:50:13