将py打包为exe文件需要依赖pyinstaller第三方库
-F:打包后只生成单个exe格式文件; -D:默认选项,创建一个目录,包含exe文件以及大量依赖文件; -c:默认选项,使用控制台(就是类似cmd的黑框); -w:不使用控制台; -p:添加搜索路径,让其找到对应的库; -i:改变生成程序的icon图标。
1.单个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
标签:可执行文件,文件,exe,False,chaoxing,python,py,main From: https://www.cnblogs.com/mylive/p/17498928.html