社区编辑申请
注册/登录
快速将多个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 文件

这样就不会出现黑框啦.....

责任编辑:庞桂玉 来源: Python编程学习圈
相关推荐

2022-05-23 09:25:39

Pythonexe脚本

2022-06-20 22:37:25

Linux操作系统命令

2022-06-28 09:26:25

Python配置文件

2022-06-15 11:02:40

网络安全运营

2022-06-15 08:21:49

Linux运维工程师

2022-06-28 12:35:21

DockerPython

2022-06-10 09:04:24

Python读取文件代码

2022-06-20 08:58:25

Obsidian笔记工具

2022-06-10 09:00:53

前端项目个JSON

2022-06-14 07:22:53

MakefileConfigKconfig

2022-05-31 07:40:44

LsyncdCentOS7

2022-06-04 14:43:31

Windows 10出厂设置重装

2022-06-01 12:04:02

项目Webpack

2022-06-16 10:14:51

LinuxEmacs编辑器

2022-06-15 11:51:14

Vue3开发避坑

2022-06-06 09:02:47

Overlay2BindISO

2022-06-07 17:08:51

WizTreewindows工具

2022-06-27 23:44:37

云原生云存储云计算

2022-04-30 09:09:55

SecureFXSecureCRT

2022-06-23 09:22:57

Vue技巧前端

同话题下的热门内容

源码探秘:Python 中对象是如何被调用的?使用Java和Python进行数据统计和分析C++与Java“相爱相杀”:一个步步紧逼,一个节节败退GitHub这五个骚操作,99%的人不知道!裁员真能拯救中国互联网?吐血推荐17个提升开发效率的“轮子”哪个版本的JVM最快?Flask vs Django: 该如何选择Python框架?

编辑推荐

2017年9月编程语言排行榜:Java、C与C++三巨头还能统治排行榜多久?2017年最受欢迎的5个前端框架比较2017年11月编程语言排行榜:脚本语言怎么了?2017年3月编程语言排行榜:Swift首次进入前十最近租房有点烦!技术人如何用Python找到称心如意的“小窝”?
我收藏的内容
点赞
收藏

51CTO技术栈公众号