当前位置:   article > 正文

Python系列之:把python程序打包成exe文件,实现在不同电脑点击exe文件即可运行程序_pyi-makespec

pyi-makespec

一、PyInstaller

命令格式:

  • pyinstaller [options] script
  • -D:将所有文件打包到一个目录下
  • -F:将所有文件打包成一个可执行文件
  • -W:不显示黑色控制台窗口
  • -i <FILE.ico>:可执行文件的封面图片

二、pyi-makespec

命令格式:

  • pyi-makespec [options] script

三、python代码

mysql-optics-connector.json文件如下所示:

{"name": "mysql-optics-connector"}
  • 1

python代码如下所示:

import time
import json

time.sleep(3)

with open(f"./data/mysql-optics-connector.json", 'r', encoding='utf-8') as f:
    data = json.load(f)

print(data['name'])

print("python测试把代码打包成exe")
time.sleep(3)
print("程序运行结束")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

执行输出如下所示:
mysql-optics-connector
python测试把代码打包成exe
程序运行结束

四、把python程序打包成exe

pyi-makespec -i img.ico -D packtest.py
  • 1

点击运行生成的exe文件:packtest.exe
在这里插入图片描述

五、把程序相关文件一同打包

pyi-makespec -i img.ico -D packtest.py
  • 1

执行上面的命令会生成packtest.spec文件,文件内容如下所示:

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['packtest.py'],
    pathex=[],
    binaries=[],
    datas=[('data','data'),('bar','bar')],
    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='packtest',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon='img.ico',
)
coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='packtest',
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51

修改文件datas处内容,把程序相关文件一同打包,这里是打包data目录和bar目录,打包后名称仍然为data和bar
在这里插入图片描述
根据packtest.spec文件打包程序为exe文件

pyinstaller packtest.spec
  • 1

在这里插入图片描述
点击运行packtest.exe,输出如下所示:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/51895
推荐阅读
相关标签
  

闽ICP备14008679号