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文件一样
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论