之前写的用于创建、链接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进行打包操作