PyQt5: error al cargar el plugin de la plataforma “windows”. Las plataformas disponibles son: ventanas, mínimas.

Cuando bash ejecutar cualquier progtwig PyQt5 desde Eclipse, recibí este error.

Error al cargar el plugin de la plataforma “windows”. Las plataformas disponibles son: ventanas, mínimas.

Nunca he encontrado este problema con PyQt4 pero con la nueva versión.

No soy capaz de ejecutar un progtwig. Por otras preguntas aquí, sé que sucede con el desarrollo de Qt C ++ y la solución es copiar algunos archivos Qt dll al directorio del progtwig ejecutable.

¿Debo hacer lo mismo en el desarrollo de Python (PyQt5) también? ¿Agregar esos archivos al directorio, donde residen mis archivos * .py? ¿No debería ser gestionado por la instalación de PyQt5?

Gracias

Encontré este problema con PyQt5 5.0.2, Windows 8, Python 3.3.2; mensaje de error ligeramente diferente:

Failed to load platform plugin "windows". Available platforms are:

Establezca la siguiente variable de entorno y luego ejecute la aplicación.

$env:QT_QPA_PLATFORM_PLUGIN_PATH="C:\Python33\Lib\site-packages\PyQt5\plugins\platforms"

Copie C:\Python34\Lib\site-packages\PyQt5\libEGL.dll en el mismo directorio que su .exe.

Fuente: http://bird1110.blogspot.com/2014/04/python-33-pyqt5-and-cxfreeze-exe-on-64.html

Otra solución que funciona para mí; Windows 7; PyQt5, Python 3.4 64 bits:

 pyqt = os.path.dirname(PyQt5.__file__) QApplication.addLibraryPath(os.path.join(pyqt, "plugins")) 

También puede establecer una variable de entorno QT_QPA_PLATFORM_PLUGIN_PATH con la ruta al directorio de plugins .

 os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = qt_platform_plugins_path 

¡Esto también funciona muy bien con PyInstaller!

Tuve un problema similar al comstackr mi código con cx_freeze .

Copiar las plataformas de carpetas del directorio de instalación de python en mi carpeta construida solucionó el problema. la carpeta “plataformas” contiene qminimal.dll

Encontré el archivo: qwindows.dll necesitaba ser incluido para permitir que mi archivo .exe se ejecute de forma independiente sin recibir el error. Para hacerlo, agregue la ruta qwindows.dll a su lista de archivos de datos:

 setup(windows=[YOURSCRIPT.py] , data_files = [('.','DRIVE:\PythonPath\Lib\site-packages\PyQt4\plugings\platforms\qwindows.dll')]) 

La razón por la que haría esto y ahora configura la ruta de su entorno es que su progtwig se ejecutará en cualquier máquina si el archivo qwindows.dll se encuentra en el mismo paquete. Si solo configura la variable de entorno, el progtwig solo se ejecutará con éxito en una computadora con PyQt instalado.

Me gusta la respuesta de uetoyo, pero Anaconda ha movido el directorio. Esto funciona para mí Python 3.5.2 Anaconda 4.2.0 en Windows 7.

 import os if os.name == "nt": # if windows import PyQt5 pyqt_plugins = os.path.join(os.path.dirname(PyQt5.__file__), "..", "..", "..", "Library", "plugins") QApplication.addLibraryPath(pyqt_plugins)