将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

 

posted @ 2023-06-23 11:40  三生有幸格格  阅读(107)  评论(0编辑  收藏  举报