web-dev-qa-db-fra.com

Comment installer PyQt5 sur Windows pour Python 2?

Je porte une application Python 2 utilisant PyQt5 de Linux à Windows.

Question : Comment installer PyQt5 sous Windows?

Ce que j'ai essayé

  1. 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
    
  2. Vous recherchez un programme d'installation Windows sur le site officiel , mais seul l'installateur PyQt4 est disponible pour Python 2.

Que fais-je?

11
Babken Vardanyan

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.

  1. Vous allez avoir besoin d'une installation valide de MS Visual C++. J'ai la version professionnelle, mais je suppose que la version communautaire fonctionnera aussi.
  2. Vous allez avoir besoin d'une version appropriée de qt. Si vous utilisez Python 32 bits, assurez-vous d’obtenir Qt 32 bits. Aussi, (même si je pense que cela ne devrait pas avoir d'importance), je me suis assuré d'obtenir la version de Qt qui a été construite avec la même version du compilateur MSVC que moi. Cela peut être important s'il existe un lien statique entre l'installation de Qt et PyQt (ce qui pourrait entraîner une incompatibilité binaire des fichiers d'objets liés.) Obtenir Qt à partir de http://download.qt.io/ Note que Qt a des considérations supplémentaires sur les licences, vous voudrez peut-être jeter un oeil à https://www.qt.io/download/ first.
  3. Assurez-vous que le sous-répertoire bin de votre installation de Qt se trouve dans votre chemin système.
  4. Obtenez le source pour SIP. SIP est disponible sur riverbankcomputing.com. J'ai utilisé la version 4.18.
  5. 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.)

  6. 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.

  7. 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.

18
Peter Du

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: 

  1. Copiez les fichiers DLL de 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 .
  2. Ajoutez 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

0
bigwillydos