Python打包EXE程序

最近用Python,做一个服务器和客户端交互的软件,原来计划是在客户端直接起Python脚本,但是考虑到客户端机子不确定且数量较大,如果每台机子都搭建环境运行Python脚本,非常麻烦,很不灵活,如果可以直接做成EXE发送给客户端最好。

查资料发现使用PyInstaller是可以将Python脚本打包EXE程序的

PyInstaller安装

我这边用的JetBrains PyCharm Community Edition 2018.2.4,可以直接通过IDE进行安装
打开IDE,File-Setting-Interpreter,点击“+”搜索PyInstaller,安装即可

PyInstaller命令参数

Python打包EXE程序_第1张图片
常用参数说明:
-F 打包一个文件
-D 打包一个目录
–add-data 添加其他文件
-i exe图标
-n exe名称
-w 不显示命令窗口

例如:pyinstaller -F -w -i Blink.ico -n BlinkServers DriveForm.py,具体参数,查看详细命令或者查阅官方文档

1)pyinstaller 打包exe第一种方式就是直接操作.py文件,pyinstaller [options] XX.py
2)pyinstaller 打包exe第二种方式就是操作自定义spec文件,pyinstaller [options] XX.spec;其实pyinstaller XX.py最终也会生成一个spec文件
简单的spec文件例子:

block_cipher = None    

a = Analysis(['DriveForm.py'],
             pathex=['E:\\MyCode\\Dis\\src\\gDis\\DriveProgram'],
             binaries=[],
             datas=[],
             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='BlinkServers',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=False , icon='Blink.ico')

凡是命令行参数的都可以在spec中设置,spec更加灵活

文档路径;https://pyinstaller.readthedocs.io/en/stable/#

你可能感兴趣的:(Python)