python将多个py文件和其他文件打包为exe可执行文件

作者:??Python编程学习圈???? 时间:2021-07-02 05:36:40 

前言:

最近在学习PYQT5,感觉还挺有趣的,顺便记录一下自己的打包记录,也就当学习笔记啦,如果刚好也在学习python打包的小伙伴可以学一学哦。

1、准备好打包文件

首先准备好将要打包的工程文件(/夹)。在这个文件下,我们将frame_main.py当做主程序。

python将多个py文件和其他文件打包为exe可执行文件

2、下载安装Pyinstaller

在 cmd 中进入我们当前的python环境中,并进入当前项目的文件夹下:

python将多个py文件和其他文件打包为exe可执行文件

下载安装Pyinstaller

python将多个py文件和其他文件打包为exe可执行文件

3、生成.spec文件

.spec文件为安装配置文件,作用是对可执行文件进行配置!因为我们把frame_main.py 当做主程序,所以输入如下命令

pyi-makespec frame_main.py

python将多个py文件和其他文件打包为exe可执行文件

可以看到此时文件夹下生成了一个 frame_main.spec 文件,其内容如下:

python将多个py文件和其他文件打包为exe可执行文件

# -*- 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文件

我们需要对其进行配置,包括文件和静态资源(图片等),

python将多个py文件和其他文件打包为exe可执行文件

在Analysis 加入所有py文件,datas中加入所有静态资源。还有exe文件的图标,记住图标用绝对路径。

python将多个py文件和其他文件打包为exe可执行文件

5、生成exe文件

输入命令:

pyinstaller -F -w frame_main.spec

(备注:-F是将一个文件打包而成的,-w是运行时不出现黑色窗口的)

打包完成之后会在当前目录文件夹下生成一个dist文件夹,打开之后会发现我们的 exe 文件。

python将多个py文件和其他文件打包为exe可执行文件

双击 exe 文件,竟然会发现怎么还是会出现黑色窗口呢,也就是控制台。

经过我师弟的点拨,终于发现了问题的所在,将spec文件中的 :

console = True
改为:
console = False

python将多个py文件和其他文件打包为exe可执行文件

继续运行,再次打包。

pyinstaller -F -w frame_main.spec

双击 exe 文件

python将多个py文件和其他文件打包为exe可执行文件

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

来源:https://juejin.cn/post/7099632026827833352

标签:python,py,打包,文件,exe,执行
0
投稿

猜你喜欢

  • ASP调试方法图文教程

    2008-01-26 19:32:00
  • 微软建议的ASP性能优化28条守则(1)

    2008-02-22 16:54:00
  • SQL Server中读取XML文件的简单做法

    2008-12-23 15:29:00
  • 安装PyTorch的详细过程记录

    2023-05-12 07:50:12
  • Python实现截图生成符合markdown的链接

    2021-07-09 10:18:22
  • Python list列表中删除多个重复元素操作示例

    2023-08-23 06:49:04
  • Python2中的raw_input() 与 input()

    2022-05-16 07:42:06
  • 对Python 多线程统计所有csv文件的行数方法详解

    2021-09-09 04:56:44
  • Python可视化Matplotlib介绍和简单图形的绘制

    2021-09-01 21:16:44
  • python实用代码片段收集贴

    2022-02-16 10:01:40
  • python用来获得图片exif信息的库实例分析

    2022-07-16 12:29:38
  • 慢慢的网页

    2009-11-12 12:53:00
  • Python随机生成均匀分布在三角形内或者任意多边形内的点

    2022-02-15 22:02:14
  • tensorflow 初始化未初始化的变量实例

    2021-05-16 13:47:54
  • 事件检测

    2009-04-11 18:03:00
  • ASP存储过程开发应用详解第1/2页

    2011-04-07 11:16:00
  • 关于CSS中字号控制的兼容性研究

    2010-01-23 12:48:00
  • Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法

    2023-02-01 07:31:31
  • Pytest+Request+Allure+Jenkins实现接口自动化

    2021-04-09 13:50:44
  • python实现自动化上线脚本的示例

    2021-02-01 05:14:49
  • asp之家 网络编程 m.aspxhome.com