ImportError: unable to find Qt5Core.dll on PATH

一、实验环境

1.Windows7x32_SP1

2.python3.7.4

3.pyinstaller3.5

二、问题描述

1.一直都是在Windows10x64上使用pyinstaller打包exe程序,发现exe程序在Windows7x32上无法正常运行。

想起之前某位大神的建议,打包exe程序时最好在32位系统上

2.部署如上实验环境,pyinstaller打包时报错:ImportError: unable to find Qt5Core.dll on PATH

三、解决方式1

1.参考文档:https://stackoverflow.com/questions/56949297/how-to-fix-importerror-unable-to-find-qt5core-dll-on-path-after-pyinstaller-b

2.新建fix_qt_import_error.py,代码如下:

# Fix qt import error
# Include this file before import PyQt5 
import os
import sys
import logging


def _append_run_path():
    if getattr(sys, 'frozen', False):
        pathlist = []

        # If the application is run as a bundle, the pyInstaller bootloader
        # extends the sys module by a flag frozen=True and sets the app
        # path into variable _MEIPASS'.
        pathlist.append(sys._MEIPASS)

        # the application exe path
        _main_app_path = os.path.dirname(sys.executable)
        pathlist.append(_main_app_path)

        # append to system path enviroment
        os.environ["PATH"] += os.pathsep + os.pathsep.join(pathlist)

    logging.error("current PATH: %s", os.environ['PATH'])


_append_run_path()

3.主程序导入PyQt5相关库之前导入fix_qt_import_error.py

import fix_qt_import_error

  

四、解决方式2

1.参考文档:https://github.com/pyinstaller/pyinstaller/issues/2152

2.pyinstaller命令中添加--path参数,示例如下:

pyinstaller --path C:\Python35-32\Lib\site-packages\PyQt5\Qt\bin test.py

  

posted @ 2019-09-04 16:52  “人生苦短”  阅读(3533)  评论(0编辑  收藏  举报