Windows 10에서 PyQt5를 사용하여 pyinstaller에서 만든 .exe 앱을 실행할 수 없나요?

Windows 10에서 PyQt5를 사용하여 pyinstaller에서 만든 .exe 앱을 실행할 수 없나요?

Win10 64bit에서 Python3.4.3용 PyQt5_5.4.1을 설치했습니다. XP 클라이언트를 지원하려면 3.4.3이 필요하며 이것이 XP에 설치할 수 있는 마지막 버전입니다. PyQt5는 python3.4.3 폴더에 자체적으로 설치되었으며 C:\Python34PATH에서 볼 수 있습니다.C:\Python34\Lib\site-packages\PyQt5

모든 것이 정상인 상태 에서 스크립트를 실행하면 python myscript.pyGUI 창이 표시됩니다. 그러나 pyinstaller다음과 같이 생성된 스크립트에서 .exe 파일을 실행하려고 하면 pyinstaller myscript.py --onefile오류가 발생합니다.

Qt: Untested Windows version 10.0 detected!
This application failed to start because it 
could not find or load the Qt platform plugin "windows".

Reinstalling the application may fix this problem.

myscript.py에 다음 코드가 있습니다.

from PyQt5 import QtWidgets, QtCore, QtGui

이 문제에 대한 해결책이 있습니까? PyQt5를 다시 설치하려고 시도했지만 운이 없었습니다.

답변1

프로젝트 디렉터리에 후크 파일을 만듭니다. 이름을 붙이다후크-PyQt5.py예를 들어:

from PyInstaller.utils.hooks import qt_plugins_binaries
# Fixed the issue: could not find or load the Qt platform plugin "windows".
binaries = qt_plugins_binaries('platforms', 'PyQt5')

Pyinstaller 사양 파일에 매개변수를 추가합니다.

후크 경로=['./']

분석 개체에:

a = Analysis(
    ...
    hookspath=['./'],
    ...
)

또는 PyInstaller를 직접 사용하는 경우 명령줄에 "--additional-hooks-dir" 인수를 지정하세요.

python -m PyInstaller --additional-hooks-dir="./" <your-script>

관련 정보