pyinstaller打包pyqt文件金冠53777,pyinstaller打包pyq

作者:操作系统

pyinstaller打包pyqt文件,pyinstaller打包pyqt

怎么将pyqt生成exe的二进制文件呢,pyinstaller正是如此的工具

能够将脚本文件.py 文件调换为编写后的二进制文件,在举办发表

上边说下,假设打包

一. 安装:

    下载地址:

    最新版本pyinstaller2.1.1 (2014-01卡塔尔国

    

python setup.py install

  pyinstaller 是有依附包的,安装以前必需要设置pywin32, 在互连网找到呼应版本的pywin32.msi

二. 写一个要打包的py文件

    

# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore

class buttonRedrect(QtGui.QWidget):

    def __init__(self):
        super(buttonRedrect, self).__init__()
        self.setWindowTitle('Mouse Event')
        self.setWindowIcon(QtGui.QIcon('QQ.png'))

        self.labels = QtGui.QLabel(u'点我试试!', self)
        self.labels.setGeometry(50, 50, 150, 50)
        self.labels.mouseReleaseEvent = self.events


    def events(self, event):
        ev=event.button()
        if ev== QtCore.Qt.LeftButton:
            OK = QtGui.QMessageBox.information(self, (u'提示'),(u'左键'),QtGui.QMessageBox.Yes , QtGui.QMessageBox.No)
            if OK==QtGui.QMessageBox.Yes:
                QtGui.QMessageBox.information(self, (u'提示'),(u'YES'),QtGui.QMessageBox.Yes)
            else:
                QtGui.QMessageBox.information(self, (u'提示'),(u'NO'),QtGui.QMessageBox.Yes)
        elif ev == QtCore.Qt.RightButton:
            OK = QtGui.QMessageBox.warning(self, (u'提示'),(u'右键'),QtGui.QMessageBox.Yes , QtGui.QMessageBox.No)
        elif ev == QtCore.Qt.MiddleButton:
            OK = QtGui.QMessageBox.question(self, (u'提示'),(u'滚动轴'),QtGui.QMessageBox.Yes , QtGui.QMessageBox.No)




app=QtGui.QApplication(sys.argv)
buttonr=buttonRedrect()
buttonr.show()
sys.exit(app.exec_())

三. 文件打包

   在要打包的同级目录下,新建贰个pyinstaller.py, 内容如下

   

#! /usr/bin/env python
#-----------------------------------------------------------------------------
# Copyright (c) 2013, PyInstaller Development Team.
#
# Distributed under the terms of the GNU General Public License with exception
# for distributing bootloader.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
"""
Main command-line interface to PyInstaller.
"""
# from  PyInstaller import  *
import  os

if __name__ == '__main__':
    from PyInstaller.main import run
    opts=['abc.py','-F','-w','--icon=favicon.ico']
    run(opts)

 当中opts是参数,将参数更正成你要的须要

-- 参数表明:

    

-F, --onefile Py代码唯有二个文本

-D, --onedir Py代码放在二个目录中(暗中同意是其风流浪漫)

-K, --tk 包含TCL/TK

-d, --debug 生成debug模式的exe文件

-w, --windowed, --noconsole 窗体exe文件(Windows Only)

-c, --nowindowed, --console 控制台exe文件(Windows Only)

-o DIEnclave, --out=DI讴歌ZDX 设置spec文件输出的目录,私下认可在PyInstaller同目录

--icon=<FILE.ICO> 参加Logo(Windows Only)

-v FILE, --version=FILE 参预版本消息文件

 

将指令行CMD切换切换来前段时间要打包的目录

   F:projectpyqtTEST>

输入指令:

    python pyinstaller.py

 

等5,6秒pyinstaller的INFO编写翻译完结现在,目录里面就多出多个文本夹 build   和  dist, 在那之中 dist 里面就是二进制的打包文件

金冠53777 1

 

--遇到的标题:

在给打包文件增多icon的时候,报错

  

  File "C:Python27libsite-packagespyinstaller-2.1.1dev_-py2.7.eggPyInstallerbuild.py", line 320, in __postinit__
    self.assemble()
  File "C:Python27libsite-packagespyinstaller-2.1.1dev_-py2.7.eggPyInstallerbuild.py", line 1245, in assemble
    icon.CopyIcons(tmpnm, self.icon)
  File "C:Python27libsite-packagespyinstaller-2.1.1dev_-py2.7.eggPyInstallerutilsicon.py", line 170, in CopyIcons
    hsrc = win32api.LoadLibraryEx(srcpath, 0, LOAD_LIBRARY_AS_DATAFILE)
pywintypes.error: (193, 'LoadLibraryEx', '%1 xb2xbbxcaxc7xd3xd0xd0xa7xb5xc4 Win32 xd3xa6xd3xc3xb3xccxd0xf2xa1xa3')

当即自己采用的icon参数是: --icon=favicon.png   

后来把icon格式改为favicon.ico,才方可, 且 icon的参数无法带  " ' "  or  '  "   '

 

怎么着将pyqt生成exe的二进制文件呢,pyinstaller正是这般的工具 能够将脚本文件.py 文件转变为编写后的...

本文由金冠53777-金冠娱乐53777-Welcome发布,转载请注明来源

关键词: