当前位置 主页 > 网站技术 > 代码类 >

    python pyinstaller打包exe报错的解决方法

    栏目:代码类 时间:2019-11-02 12:08

    今天用python 使用pyinstaller打包exe出现错误

    环境pyqt5 + python3.6 32位

    在导入pyqt5包之前加上如下代码

    import sys
    import os
    if hasattr(sys, 'frozen'):
     os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']
    
    from PyQt5.QtWidgets import QApplication, QMainWindow
    from pyqt_ui.MainWindow import MainWin
    
    if __name__ == '__main__':
     app = QApplication(sys.argv)
     mainWindow = QMainWindow()
     main_dialog = MainWin(mainWindow)
     mainWindow.show()
     sys.exit(app.exec_())

    运行

    pyinstaller -F main2.py
    INFO: PyInstaller: 3.5
    INFO: Python: 3.6.4
    INFO: Platform: Windows-7-6.1.7601-SP1
    INFO: wrote E:\workspace\devTest\main2.spec
    INFO: UPX is not available.
    INFO: Extending PYTHONPATH with paths
    ['E:\\workspace\\devTest', 'E:\\workspace\\devTest']
    INFO: checking Analysis
    INFO: Building because E:\workspace\devTest\main2.py changed
    INFO: Initializing module dependency graph...
    INFO: Initializing module graph hooks...
    INFO: Analyzing base_library.zip ...
    INFO: running Analysis Analysis-00.toc
    INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
     required by d:\mytool\env\env36-32\scripts\python.exe
    INFO: Caching module hooks...
    INFO: Analyzing E:\workspace\devTest\main2.py
    INFO: Processing pre-find module path hook distutils
    INFO: distutils: retargeting to non-venv dir 'C:\\Program Files (x86)\\Python36-32\\Lib\\distutils\\__init__.py'
    INFO: Processing pre-safe import module hook win32com
    INFO: Loading module hooks...
    INFO: Loading module hook "hook-encodings.py"...
    INFO: Loading module hook "hook-pydoc.py"...
    INFO: Loading module hook "hook-PyQt5.py"...
    WARNING: Hidden import "sip" not found!
    INFO: Loading module hook "hook-PyQt5.QtCore.py"...
    INFO: Loading module hook "hook-PyQt5.QtGui.py"...
    INFO: Loading module hook "hook-PyQt5.QtWidgets.py"...
    INFO: Loading module hook "hook-pythoncom.py"...
    INFO: Loading module hook "hook-pywintypes.py"...
    INFO: Loading module hook "hook-win32com.py"...
    INFO: Loading module hook "hook-xml.py"...
    INFO: Looking for ctypes DLLs
    INFO: Analyzing run-time hooks ...
    INFO: Including run-time hook 'pyi_rth_pyqt5.py'
    INFO: Including run-time hook 'pyi_rth_win32comgenpy.py'
    INFO: Looking for dynamic libraries
    INFO: Looking for eggs
    INFO: Using Python library d:\mytool\env\env36-32\scripts\python36.dll
    INFO: Found binding redirects:
    []
    INFO: Warnings written to E:\workspace\devTest\build\main2\warn-main2.txt
    INFO: Graph cross-reference written to E:\workspace\devTest\build\main2\xref-main2.html
    INFO: checking PYZ
    INFO: Building because toc changed
    INFO: Building PYZ (ZlibArchive) E:\workspace\devTest\build\main2\PYZ-00.pyz
    INFO: Building PYZ (ZlibArchive) E:\workspace\devTest\build\main2\PYZ-00.pyz completed successfully.
    INFO: checking PKG
    INFO: Building because toc changed
    INFO: Building PKG (CArchive) PKG-00.pkg
    WARNING: One binary added with two internal names.
    WARNING: ('libGLESv2.dll',
     'D:\\mytool\\env\\env36-32\\lib\\site-packages\\PyQt5\\Qt\\bin\\libGLESv2.dll',
     'BINARY')
    WARNING: was placed previously at
    WARNING: ('PyQt5\\Qt\\bin\\libGLESv2.dll',
     'D:\\mytool\\env\\env36-32\\lib\\site-packages\\PyQt5\\Qt\\bin\\libGLESv2.dll',
     'BINARY')
    INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
    INFO: Bootloader d:\mytool\env\env36-32\lib\site-packages\PyInstaller\bootloader\Windows-32bit\run.exe
    INFO: checking EXE
    INFO: Building because toc changed
    INFO: Building EXE from EXE-00.toc
    INFO: Appending archive to EXE E:\workspace\devTest\dist\main2.exe
    INFO: Building EXE from EXE-00.toc completed successfully.