Je porte une application Python 2 utilisant PyQt5 de Linux à Windows.
Question : Comment installer PyQt5 sous Windows?
Ce que j'ai essayé
pip install PyQt5
échoue avec:
Downloading/unpacking PyQt5
Could not find any downloads that satisfy the requirement PyQt5
Cleaning up...
No distributions at all found for PyQt5
Storing debug log for failure in C:\Users\user\pip\pip.log
Vous recherchez un programme d'installation Windows sur le site officiel , mais seul l'installateur PyQt4 est disponible pour Python 2.
Que fais-je?
C'est une très vieille question, mais si j'avais eu cette réponse avec une réponse décente il y a une semaine, je l'aurais trouvée très utile. Voici ce que j'ai fait pour atteindre le résultat souhaité. Comme vous l'avez noté, les packages PyQt5 et Python 2.7 n'étant pas pris en charge, vous devrez le construire vous-même. Heureusement, le processus est assez simple. Par hypothèse, vous avez déjà installé Python 2.7.
Il existe trois commandes pour créer et installer SIP. N'exécutez pas ces commandes à partir d'un shell standard, utilisez plutôt les outils de commande Visual Studio, afin que votre chemin d'accès inclue le compilateur et que les variables d'environnement INCLUDE, LIBS et LIBPATH soient définies.
python configure.py
Si vous utilisez un environnement virtuel pour Python, vous devrez peut-être modifier le fichier makefile pour SIPLib, car il code les dépendances de manière déterminante sur l'emplacement du sous-répertoire Python include et du sous-répertoire libs. J'ai choisi de les pointer vers l'installation système Python (c:\Python27\include et c:\Python27\libs.) Cela devrait maintenant être aussi simple que
nmake
nmake install
La dernière partie de cette étape consiste à vérifier que le programme sip.exe a été placé dans un emplacement faisant partie de votre chemin d'accès (cela peut ne poser problème que si vous utilisez un environnement Python virtuel. J'ai copié le programme dans le dossier. répertoire des scripts.)
Obtenez le code source de la version de PyQt qui correspond à la version de Qt que vous avez obtenue précédemment. Il est disponible à partir du projet PyQt sur sourceforge, et la version la plus récente est disponible sur riverbankcomputing.com.
Répétez le même processus de:
python configure.py
nmake
nmake install
que vous avez utilisé pour construire SIP. Dans ce cas, le nombre de makefiles générés est trop important (tous potentiellement avec le mauvais emplacement du fichier python27.lib et les en-têtes, en fonction de votre environnement virtuel.) Je viens de copier le fichier python27.lib à l’emplacement les makefiles attendent. De même, trois applications sont installées dans un emplacement ne faisant pas partie du chemin du système (pyuic5, pyrcc5 et pylupdate5) et je les ai également copiées dans un emplacement du chemin.
Terminé. Vous devriez pouvoir construire votre application PyQt5/Python2.7.
Il existe un guide intéressant sur l'installation de PyQt5 et de SIP pour Python2.7: https://blog.synss.me/2018/how-to-install-pyqt5-for- python-27-on-windows/
Pour le rappeler, il faut d’abord installer les modules pip et virtualenv afin de créer un environnement virtuel pour python où il sera installé. Ensuite, il en va de même pour Peter Du answer. Cependant, je voudrais insister sur les options de configuration:
python configure.py ^
--confirm-license ^
--no-designer-plugin ^
--no-qml-plugin ^
--assume-shared ^
--disable=QtNfc ^
--qmake=C:\Qt\%_QTVERSION%\msvc2015\bin\qmake.exe ^
--sip=%VIRTUAL_ENV%\Scripts\sip.exe
Dans ce cas, rappelez-vous que la version de Qt doit être similaire à celle de PyQt.
Un autre point à souligner est la version. J'ai sondé avec la dernière version de SIP 4.19.13 et PyQt5 5.11.3; cependant, même si je pouvais l'installer correctement, je ne pouvais pas lancer le module et l'importer car j'ai une erreur. message lié à un module sip manquant, si vous utilisez la console de développement de Visual Studio, et DLL manquant si vous l'utilisez dans une console commune, comme indiqué dans DLL échec du chargement lors de l'importation PyQt5
J'ai également essayé avec le SIP 4.19.8 et le PyQt5 5.10.1, comme dans l'exemple ci-dessus. Cependant, le PyQt5 de cette version présente quelques problèmes avec la version communautaire de Visual Studio 2017.
Enfin, j’ai réussi à l’installer et à le lancer avec SIP 4.19.13, PyQt5 5.7.1 et Python 2.7.15, comme le commente pixebeit dans Peter Du answer, en utilisant Qt 5.7 (it est installé en choisissant cette version dans la liste présentée par l'outil de maintenance Qt) et Visual Studio 2017 Community Edition, avec MSVC2015 comme compilateur.
NOTE:
Si vous souhaitez exécuter des applications autonomes utilisant PyQt5 installé par cette méthode, à partir d'un CMD conventionnel, vous avez deux options:
C:\Qt\%_QTVERSION%\msvc2015\bin
à %VIRTUALENV%\Lib\site-packages\PyQt5
s'ils sont installés dans un environnement virtuel ou dans C:\Python27\Lib\site-packages\PyQt5
s'ils sont installés dans les fichiers de base, comme indiqué dans https://github.com/x64dbg/PyQt5 .C:\Qt\%_QTVERSION%\msvc2015\bin
à la variable d’environnement PATH pour Windows.pip install python-qt5
Installe PyQt5 non officiel via PyPI pour Python 2.7 64 bits sous Windows
Github pour cela ici: https://github.com/pyqt/python-qt5