ToB企服应用市场:ToB评测及商务社交产业平台

标题: python项目生成exe [打印本页]

作者: 民工心事    时间: 2023-4-13 17:44
标题: python项目生成exe
前言

做了个python的小项目,需要打包为桌面端的exe使用,结果一打包,体积直接上百兆了,研究了下,使用虚拟环境打出的包会更干净小巧。
安装anaconda(用作python的虚拟环境管理工具)

创建anaconda虚拟环境

vscode选择python解释器

设置vscode默认终端为cmd

生成spec文件

  1. # -*- mode: python ; coding: utf-8 -*-
  2. def getExeName(): # 获取名字与版本
  3.     import config
  4.     return config.name + '-' + config.version
  5. block_cipher = None
  6. a = Analysis(
  7.     ['main.py'], # 需要打包的py文件
  8.     pathex=[],
  9.     binaries=[],
  10.     datas=[],
  11.     hiddenimports=[],
  12.     hookspath=[],
  13.     hooksconfig={},
  14.     runtime_hooks=[],
  15.     excludes=[],
  16.     win_no_prefer_redirects=False,
  17.     win_private_assemblies=False,
  18.     cipher=block_cipher,
  19.     noarchive=False,
  20. )
  21. pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
  22. exe = EXE(
  23.     pyz,
  24.     a.scripts,
  25.     a.binaries,
  26.     a.zipfiles,
  27.     a.datas,
  28.     [],
  29.     name=getExeName(), # 打包后的名字
  30.     debug=False,
  31.     bootloader_ignore_signals=False,
  32.     strip=False,
  33.     upx=True,
  34.     upx_exclude=[],
  35.     runtime_tmpdir=None,
  36.     console=False, # 双击exe是否显示cmd窗口
  37.     disable_windowed_traceback=False,
  38.     argv_emulation=False,
  39.     target_arch=None,
  40.     codesign_identity=None,
  41.     entitlements_file=None,
  42.     icon='./img/icon.ico' # 打包的exe图标
  43. )
复制代码
Analysis第一个参数为列表,列表中元素为需要打包的py文件,可自行添加删除,EXE为打包的exe信息,可在此处修改exe的名字、图标等。图标必须为ico格式图片,这里提供一个图片格式转换网站:https://onlineconvertfree.com/zh/convert/svg/
利用spec配置打包

原文链接:https://xiblogs.top/?id=57

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4