Python程序打包exe,单文件和多文件

Python 脚本打成exe文件

安装Pyinstaller

	pip install pyinstaller

如遇网速慢使用国内镜像源小技巧

	pip install -i https://pypi.douban.com/simple/ pyinstaller #豆瓣源
	pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller #清华源

准备一个ico图标

  • 可自己设计一个icon图片
  • 搜索一个开源icon图片
  • 将icon转成ico图标

打包方式一(适用于文件较少的程序)

命令行方式
pyinstaller -F -i app.ico main.py -p other.py -p other1.py --hidden-import util --hidden-import util

打包方式二 (文件较多)

spec方式

xxx.spec

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None

#此项目中所有的py文件(要打包进去的所有py文件),和主程序不在同一个包中的py文件用绝对路径。
a = Analysis(['main.py',
                'D:/Desktop/Python/utils/DBSession.py',
                'D:/Desktop/Python/lib/MysqlUtils.py',
            ],
             pathex=['D:/Desktop/Python/demo'],	# 项目的绝对路径
             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,
          a.binaries,
          a.zipfiles,
          a.datas,  
          [],
          name='programName',	#打包程序的名字
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          # console=True表示,打包后的可执行文件双击运行时屏幕会出现一个cmd窗口,不影响原程序运行
          console=True,
          disable_windowed_traceback=False,
          target_arch=None,
          codesign_identity=None,
          entitlements_file=None )

# 如果想要修改程序图标,使用在EXE()中加入 icon='xxxxx', 切记:绝对路径

spec打包命令
	pyinstaller -F -c xxx.spec
命令说明
-c 执行打包后的exe文件会带控制台
-w 执行打包后的exe文件不带控制台

项目启动带参跟执行python文件一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值