开发者

Python程序打包exe,单文件和多文件方式

目录
  • python 脚本打成exe文件
    • 安装Pyinstaller
    • 准备一个ico图标
    • 打包方式一(适用于文件较少的程序)
    • 打包方式二 (文件较多)
  • 总结

    Python 脚本打成exe文件

    安装pythonPyinstaller

    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,SIUcPBNi
              upx=True,
              upx_excluwww.devze.comde=[],
              runtime_tmpdir=None,
              # console=Tphprue表示,打包后的可执行文件双击运行时屏幕会出现一个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文件一样

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜