PyInstaller3.0打包python3.4+pyqt5程序

    在使用PyInstaller3.0之前 一直在研究cx_freeze的打包,简直用抓狂来形容,不是缺少module就是其他error,晚上下载了一个PyInstaller3.0,下载解压后不需要运行cmd 安装什么的, cd进入PyInstaller3.0目录,然后执行命令

    需要注意一点的是PyInstaller的使用需要pywin32的支持,  需要下载对应版本的pywin32  

pyinstaller -w .\oms\omsMain.py

    此处 -w 是去掉exe窗体界面运行时的命令窗口

    因为我的这个oms需要用到多个自己写的py文件,于是就把他们全部拷贝到了oms文件夹中,如果这里不拷贝过来的话会出现找不到自己写的module error ; omsMain.py是启动文件。

  

import sys
from omsUI import Ui_Dialog
from PyQt5.Qt import QDialog, QApplication

class OMSDialog(QDialog, Ui_Dialog):
    def __init__(self):
        super(OMSDialog,self).__init__()
        self.setupUi(self)
    
  
def JustForPack():
    import xlrd
    import xlwt
    import sqlite3
    import os
    from PyQt5 import QtCore, QtWidgets
    from omsDb import dbOperator
    from PyQt5.Qt import QStandardItemModel, \
    QAbstractItemView, QModelIndex, QFileDialog, QMessageBox


if __name__ == '__main__':       
    app = QApplication(sys.argv)
    dialog = OMSDialog()
    dialog.show()
    sys.exit(app.exec_())

   此文件中有个函数JustForPack 这个函数里面包含了其他文件里面所使用到的库,还要注意设置系统环境变量,把PyInsaller目录和python34\Lib\site-packages也设置进去。

    执行本文第一行命令后就会在当前路径中生成omsMain文件夹,omsMain内dist中就有需要的exe文件了。


     PyInstaller3.0打包python3.4+pyqt5程序_第1张图片

     执行命令后生成了omsMain文件夹

     PyInstaller3.0打包python3.4+pyqt5程序_第2张图片

     运行效果

      PyInstaller3.0打包python3.4+pyqt5程序_第3张图片

你可能感兴趣的:(python3.4,PyQt5,PyInstaller3.0)