之前写的用于创建、链接Jenkins slave脚本是使用Python实现的,为了使未安装Python环境的伙伴也可以直接使用,故需要将其可直接执行的exe可执行文件。
一、安装pyinsatller
在cmd控制台输入以下命令进行安装。
pip install pyinstaller
二、使用pyinstaller打包Python程序
常用参数:
以上大部分参数都暂未实际使用,本次的需求仅需进行最简单的打包即可,
使用的命令为:
pyinstaller -F xxxx.py
该命令需要在Python文件所在的目录下运行,xxxx.py为需要打包的文件;
运行完成后在当前目录下dist文件夹内获取到打包好的exe文件。
三、将静态资源一同打入
对Python文件进行打包时,会生成.spec文件;
将待打入资源与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进行打包操作