zoukankan      html  css  js  c++  java
  • Python 使用PyInstaller打包发布

    打包发布

    1.安装插件PyInstaller

     pip install PyInstaller 

    2.在目录根目录内新增main.spec文件(打包脚本)

     1 # -*- mode: python ; coding: utf-8 -*-
     2 
     3 block_cipher = None
     4 
     5 py_files = ['main.py',
     6             'XXX\XX.py',
     7             'YYYY\YYYYYY.py'
     8             ]
     9 add_files = [
    10     ('chromedriver.exe','.'),  # .表示将资源文件复制到打包文件的根目录
    11     ('AppSettings.ini','.'),
    12     ('doc\*.txt','doc'), 
    13     ('images\my.png','images'),
    14     ]
    15 a = Analysis(py_files,         #所有脚本文件路径
    16              pathex=['E:\XX\XX'], #项目根目录
    17              binaries=[],
    18              datas=add_files ,  #打包资源文件(图片、文档、视频等)
    19              hiddenimports=[],
    20              hookspath=[],
    21              runtime_hooks=[],
    22              excludes=[],
    23              win_no_prefer_redirects=False,
    24              win_private_assemblies=False,
    25              cipher=block_cipher,
    26              noarchive=False)
    27 pyz = PYZ(a.pure, a.zipped_data,
    28              cipher=block_cipher)
    29 exe = EXE(pyz,
    30           a.scripts,
    31           [],
    32           exclude_binaries=True,
    33           name='test',   #打包后exe名称
    34           debug=False,
    35           bootloader_ignore_signals=False,
    36           strip=False,
    37           upx=True,
    38           console=True )  #是否显示命令窗口,默认true
    39 coll = COLLECT(exe,
    40                a.binaries,
    41                a.zipfiles,
    42                a.datas,
    43                strip=False,
    44                upx=True,
    45                upx_exclude=[],
    46                name='test')  #打包后文件夹名称

    3.执行打包命令

     pyinstaller -F main.spec 

    4.完成后会在项目内出现build及dist文件夹,打包文件在dist文件夹内

    PS:

    也可以不写spec,直接执行-F命令强制打包。但是需要打包的项目如果有资源文件及多个脚本文件依赖时,会出现打包丢失文件。所以建议按照标准打包。

    直接打包exe命令(main为入口py):

    pyinstaller -F main.py

    参考:https://www.cnblogs.com/the3times/p/12386007.html

  • 相关阅读:
    LeetCode——二叉搜索树中的中序后继 II
    一加 2020.10.13 笔试
    携程 2020.10.13 笔试
    中科曙光 2020.10.12 面试
    58 2020.10.11 笔试
    华为 2020.10.11 面试
    LeetCode——二叉搜索树中的顺序后继
    健网未来 2020.10.10 面试
    波特率
    PGA基础知识极简教程(4)从FIFO设计讲起之异步FIFO篇
  • 原文地址:https://www.cnblogs.com/JHelius/p/12619169.html
Copyright © 2011-2022 走看看