pyinstaller

Pyinstaller

Pyinstaller将 Python 应用程序及其所有依赖项(python解释器,第三方模块等等,因此这也就注定了打包后的可执行文件比较大)捆绑到一个包中, 也就是我们俗称的打包。普通用户(即不是开发者)无需安装 Python 解释器或任何模块即可运行打包好的应用程序。 Pyinstaller支持 Python 3.6 或更新版本,并正确打包了主要的 Python 包,例如 numpy、PyQt、Django、wxPython 等。

一,安装

# 最新版本
pip installer pyinstaller
# 指定版本
pip installer pyinstaller==版本号

二,简单用法

pyinstaller -D run.py -i logo.ico

run.py: 要打包的文件/项目入口
-D: 打包成多个文件(不指默认就是打包多个文件)
-F: 打包成一个单独的文件(如果你的代码都写在一个py文件的话就可以用,如果是多个就不要用)
-W: 程序运行时不显示命令行窗口(仅对windows有效)
-i logo.ico: 指定可执行文件图标路径,格式必须为ico
# 打包后会在当前文件夹生成build(临时文件夹)和dist(打包后的项目存放文件夹)

# 如果图标没有及时刷新显示的解决办法,在cmd终端敲一下命令
windows10: ie4uinit.exe -show
windows7/windows8: ie4uinit.exe -ClearIconCach

三,进阶用法

1,生成spec配置文件

pyi-makespec run.py

# run.py项目入口文件,执行这条命令后会在当且前目录生成run.spec配置文件

2,配置spec

# 1,配置需要额外打包的文件
# datas = [('源地址','目标地址'),('源地址','目标地址')...] 可以用相对路径,要用双斜杠防止转义
a = Analysis(
    ['run.py'],
    pathex=[],
    binaries=[],
    datas=[('db\\setting.json','db'),('db\\sounds','db\\sounds'),('imgs','imgs')],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
)

# 2,配置可执行文件图标icon,是否显示终端命令行console
exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='run',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    console=False,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon='imgs\\logo.ico',
)

# 3,加密编译(防止可执行文件被反编译)
# 加密编译需要依赖第三方库: tinyaes 安装: pip install tinyaes
# 在配置文件中添加
block_cipher = pyi_crypto.PyiBlockCipher(key='abc123')

# 4,打包
pyinstaller run.spec

# 5,打包后会在当前文件夹生成build(临时文件夹)和dist(打包后的项目存放文件夹)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦为何欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值