将python程序打包为exe可执行文件方法
将py打包为exe文件需要依赖pyinstaller第三方库
-F:打包后只生成单个exe格式文件; -D:默认选项,创建一个目录,包含exe文件以及大量依赖文件; -c:默认选项,使用控制台(就是类似cmd的黑框); -w:不使用控制台; -p:添加搜索路径,让其找到对应的库; -i:改变生成程序的icon图标。
1.单个py文件编译
pyinstaller -F -w -i 14.ico main.py
打包完成会在当前目录生成一个disk文件夹,里面产生exe文件就是编译后的程序。
2.多个py文件编译
在需要打包的文件目录下运行cmd,输入以下命令来生成.spec文件
pyi-makespec 主文件.py
运行完成目录下会出现一个.spec文件
配置.spec文件
# -*- mode: python ; coding: utf-8 -*- block_cipher = None a = Analysis( ['main.py' 'E:\Folder\python\chaoxing-main\chaoxing-main\api\__init__.py' #此处填写.py文件 'E:\Folder\python\chaoxing-main\chaoxing-main\api\chaoxing.py' #此处填写.py文件,自己的文件有几个就写几个,如果当前在目录下可以直接写文件名,如果在其他文件夹里,填写文件目录加文件名 'E:\Folder\python\chaoxing-main\chaoxing-main\utils\__init__.py' 'E:\Folder\python\chaoxing-main\chaoxing-main\utils\functions.py'], pathex=['E:\Folder\python\chaoxing-main\chaoxing-main'], #此列表为项目路径 binaries=[], datas=[( , ),( , )], #此处填写非py文件,多个文件用(),分割第一个参数是文件路径,第二个是打包后所在的路径 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='main', #程序exe的名称 debug=False, bootloader_ignore_signals=False, strip=False, upx=True, # 打包的时候进行压缩,False表示不压缩 console=True, #此处console=True表示,打包后的可执行文件双击运行时屏幕会出现一个cmd窗口,不影响原程序运行,如不需要执行窗口,改成False即可 disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, icon='icon.ico', #程序图标,要绝对路径 ) coll = COLLECT( exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, upx_exclude=[], name='main', #程序文件夹名称 )
配置好之后
在当前目录cmd中执行命令
pyinstaller xxxx.spec
生成的文件在disk目录下,找到mian.exe 双击运行即可
参考链接:https://blog.csdn.net/qq_56418482/article/details/127338778
本文来自博客园,作者: 三生有幸格格,转载请注明原文链接:https://www.cnblogs.com/mylive/p/17498928.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
2019-06-23 linux常用命令(一)