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文件一样