软硬件环境

  • Windows 7
  • Python 3.4
  • PyQt5
  • Py2exe

前言

在我们开发了完整的PyQt5项目后,一般都会将其打包成exe可执行文件,方便其他人使用。今天我们就用Py2exe这个工具来打包上一博文中完成的工程,工程源码放在了Github上,见文末尾地址。

Py2exe

py2exepython的一个exe打包工具,同时支持python2python3,目前python3最高只支持到3.4,而python版本已经到了3.7了,这点需要在实际使用中特别注意。

可以通过下面命令来安装

pip install py2exe

打包PyQt5工程

编写打包脚本

新建一个python文件setup.py,添加内容

from distutils.core import setup
import py2exe
import sys

py2exe_options = {
    "includes": ["sip"],
    "dll_excludes": ["MSVCP90.dll",],
    "compressed": 1,
    "optimize": 2,
    "ascii": 0,
    "bundle_files": 1,
    }

setup(
  name = 'PyQt5程序',
  version = '1.0',
  windows = ['main.py'],
  zipfile = None,
  options = {'py2exe': py2exe_options}
  )

各个配置选项基本上都能看懂,就不说了

运行打包命令

进入到你的工作目录,按住Shift键,同时点击鼠标右键,打开终端,在命令行里执行

python setup.py py2exe

执行完毕后,会在工程文件下生成dist文件夹,进去执行生产的exe文件。很不幸,报错了

py2exe_error_01

为了解决这个问题,我们添加一个环境变量

py2exe_variant

再次执行exe,就看到我们预期的效果。

py2exe_result

备注

为了便于保存记录,在Github创建了一个工程,地址是: https://github.com/xugaoxiang/learningPyQt5,后续会把所有的代码、文档以及博文链接都放在上面。

参考资料


Comments

comments powered by Disqus