一、实验环境
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
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-32Libsite-packagesPyQt5Qtin test.py