【Python】Python文件打包为可执行文件

之前写的用于创建、链接Jenkins slave脚本是使用Python实现的,为了使未安装Python环境的伙伴也可以直接使用,故需要将其可直接执行的exe可执行文件。

一、安装pyinsatller

在cmd控制台输入以下命令进行安装。

pip install pyinstaller

二、使用pyinstaller打包Python程序

常用参数:

以上大部分参数都暂未实际使用,本次的需求仅需进行最简单的打包即可,

使用的命令为:

pyinstaller -F xxxx.py

该命令需要在Python文件所在的目录下运行,xxxx.py为需要打包的文件;

运行完成后在当前目录下dist文件夹内获取到打包好的exe文件。

三、将静态资源一同打入

  1. 对Python文件进行打包时,会生成.spec文件;
  2. 将待打入资源与Python文件放在同一级目录,在.spec中的datas中按照如下格式将资源文件名写入
# -*- mode: python ; coding: utf-8 -*-

block_cipher = None


a = Analysis(['SpiderMonkey_Mac.py'],
             pathex=['/Users/zhouwenxing/Workspace/monkey/monkey-android/tool'],
             binaries=[],
             datas=[('awl.strings','.'),('framework.jar','.'),('monkey.jar','.')],
             hiddenimports=[],
             hookspath=[],
             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='SpiderMonkey',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=True )

  3、对.spec文件进行pyinstaller操作

pyinstaller -F xxxx.spec

  备注: PyInstaller: 3.6不支持3.6以上的Python进行打包操作

原文地址:https://www.cnblogs.com/6970-9192/p/11286632.html