Solución:
Esta es una pregunta muy antigua, pero si me hubiera encontrado con esta pregunta con una respuesta decente hace una semana, la habría encontrado muy útil. Esto es lo que hice para lograr el resultado deseado. Como notó, no hay paquetes compatibles para PyQt5 y Python 2.7, por lo que tendrá que compilarlo usted mismo. Afortunadamente, el proceso es bastante sencillo. Suponiendo que ya tiene instalado Python 2.7.
- Necesitará una instalación válida de MS Visual C ++. Tengo la versión profesional, pero supongo que la versión comunitaria también funcionará.
- Necesitará tener una versión adecuada de qt. Si está utilizando Python de 32 bits, asegúrese de obtener Qt de 32 bits. Además, (aunque creo que no debería importar), me aseguré de obtener la versión de Qt que fue construida con la misma versión del compilador MSVC que tengo. Esto podría ser importante si hay algún vínculo estático entre la instalación de Qt y PyQt (lo que podría llevar a obtener una incompatibilidad binaria de los archivos de objeto vinculados). Obtenga Qt de http://download.qt.io/ Tenga en cuenta que Qt tiene más consideraciones sobre las licencias, por lo que es posible que desee echar un vistazo a https://www.qt.io/download/ primero.
- Asegúrese de que el subdirectorio bin de su instalación de Qt esté en la ruta del sistema.
- Obtenga la fuente de SIP. SIP está disponible en riverbankcomputing.com. Usé la versión 4.18.
-
Hay tres comandos para construir e instalar SIP. No ejecute estos comandos desde un shell estándar, utilice el shell de comandos de las herramientas de Visual Studio en su lugar, para que su ruta incluya el compilador y también para que se establezcan las variables de entorno INCLUDE, LIBS y LIBPATH.
python configure.py
Si está utilizando un entorno virtual para Python, es posible que deba modificar el archivo MAKE para SIPLib, ya que codifica las dependencias de la ubicación del subdirectorio Python include y el subdirectorio libs. Elegí apuntarlos al sistema de instalación de Python (c: Python27 include yc: Python27 libs.) Ahora debería ser tan simple como
nmake
nmake install
La parte final de este paso es verificar que el programa sip.exe se haya colocado en una ubicación que sea parte de su ruta (esto solo podría ser un problema si está utilizando un entorno virtual de Python. Copié el programa en el directorio de scripts.)
-
Obtenga la fuente de la versión de PyQt que corresponde a la versión de Qt que obtuvo anteriormente. Está disponible en el proyecto PyQt en sourceforge, y la versión más reciente está disponible en riverbankcomputing.com.
-
Repite el mismo proceso de:
python configure.py
nmake
nmake install
que usaste para construir SIP. En este caso, la cantidad de archivos MAKE que se generan es demasiado grande (todos potencialmente con la ubicación incorrecta del archivo python27.lib y los encabezados, según su entorno virtual). Acabo de copiar el archivo python27.lib en la ubicación que esperan los archivos MAKE. De manera similar, hay tres aplicaciones que están instaladas en una ubicación que no forma parte de la ruta del sistema (pyuic5, pyrcc5 y pylupdate5) y también las copié en una ubicación en la ruta.
Hecho. Debería poder construir su aplicación PyQt5 / Python2.7.
pip install python-qt5
Instala PyQt5 no oficial a través de PyPI para Python 2.7 de 64 bits en Windows
Github para esto aquí: https://github.com/pyqt/python-qt5
Hay una guía interesante sobre la instalación de PyQt5 y SIP para Python2.7: https://blog.synss.me/2018/how-to-install-pyqt5-for-python-27-on-windows/
Para recordarlo, es necesario instalar en primer lugar los módulos pip y virtualenv para crear un entorno virtual para python donde se instalará. Luego, sigue de manera similar a la respuesta de Peter Du. Sin embargo, me gustaría enfatizar en las opciones de configuración:
python configure.py ^
--confirm-license ^
--no-designer-plugin ^
--no-qml-plugin ^
--assume-shared ^
--disable=QtNfc ^
--qmake=C:Qt%_QTVERSION%msvc2015binqmake.exe ^
--sip=%VIRTUAL_ENV%Scriptssip.exe
En este caso, recuerde que la versión de Qt debe ser similar a la versión de PyQt.
Otro punto a destacar es la versión. Probé con la última versión de SIP 4.19.13 y PyQt5 5.11.3, sin embargo, aunque pude instalarlo correctamente, no pude iniciar el módulo e importarlo porque recibí un mensaje de error relacionado con un sorbo faltante módulo, si usa la consola de desarrollador de Visual Studio, y falta DLL si se usa en una consola común, como se señaló en la carga de DLL falló al importar PyQt5
También probé con SIP 4.19.8 y PyQt5 5.10.1, como el ejemplo que se muestra arriba, sin embargo, PyQt5 en esta versión tiene algunos problemas con la versión comunitaria de Visual Studio 2017.
Finalmente, logré instalarlo y lanzarlo exitosamente con SIP 4.19.13 y PyQt5 5.7.1 y Python 2.7.15, como comenta pixebeit en la respuesta de Peter Du, usando Qt 5.7 (se instala eligiendo esta versión en la lista que muestra la herramienta de mantenimiento Qt) y Visual Studio 2017 Community Edition, con MSVC2015 como compilador.
NOTA:
Si desea ejecutar aplicaciones independientes que utilizan PyQt5 instalado por este método, desde un CMD convencional, tiene dos opciones:
- Copie archivos DLL de
C:Qt%_QTVERSION%msvc2015bin
para%VIRTUALENV%Libsite-packagesPyQt5
si se instala en un entorno virtual o paraC:Python27Libsite-packagesPyQt5
si está instalado en los archivos base, como se indica en https://github.com/x64dbg/PyQt5. - Agregar
C:Qt%_QTVERSION%msvc2015bin
a la variable de entorno PATH para Windows.