Outils pour utilisateurs

Outils du site


pyqt4_et_pyqt5_sous_windows

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
pyqt4_et_pyqt5_sous_windows [2015/03/24 13:19]
tyrtamos
pyqt4_et_pyqt5_sous_windows [2015/04/16 08:08]
tyrtamos
Ligne 2: Ligne 2:
  
 [Python 3.4] [Python 3.4]
 +
 +[Modification le 16/4/2015: simplifications]
  
 ===== Problématique ===== ===== Problématique =====
  
-PyQt vient de passer de la version 4 à la version 5 avec une rupture de compatibilité: les programme PyQt4 doivent être modifiés pour être utilisés avec PyQt5. Sous Windows, il faudrait donc, pendant quelques mois, pouvoir en même temps:+PyQt vient de passer de la version 4 à la version 5 avec une rupture de compatibilité: les programmes PyQt4 doivent être modifiés pour être utilisés avec PyQt5. Sous Windows, il faudrait donc, pendant quelques mois, pouvoir en même temps:
   * maintenir les développements actuels en PyQt4,    * maintenir les développements actuels en PyQt4, 
   * préparer progressivement leur conversion en PyQt5,   * préparer progressivement leur conversion en PyQt5,
Ligne 20: Ligne 22:
 On va utiliser les "**environnements virtuels**" qui font partie de Python 3.3 et 3.4 maintenant grâce au module "venv" (les versions antérieures peuvent télécharger des solutions équivalentes). On va utiliser les "**environnements virtuels**" qui font partie de Python 3.3 et 3.4 maintenant grâce au module "venv" (les versions antérieures peuvent télécharger des solutions équivalentes).
  
-On va donc créer 2 répertoires contenant chacun un environnement virtuel. On installera PyQt4 dans l'un et PyQt5 dans l'autre. L'appel du python.exe de l'un ou l'autre de ces environnements mettra à disposition du programme python lancé le bon PyQt ainsi que tous les modules déjà installés dans le Python "normal"+On considère qu'on a déjà un Python d'installé avec PyQt4, ainsi que tous les modules dont on a besoin. On va **//utiliser un "environnement virtuel" pour installer PyQt5 en plus//**Ainsi: 
 +  * l'appel du Python normal aura la disponibilité de PyQt4 
 +  * l'appel du Python de l'environnement virtuel aura la disponibilité de PyQt5, ainsi que de tous les modules du Python normal.
  
-La difficulté principale est que riverbank a ajouté une sécurité: lorsque PyQt4 est installé, la tentative d'installer **en plus** PyQt5 échoue, parce que le programme d'installation trouve dans le registre de Windows qu'un PyQt est déjà présent. Le contraire est vrai aussi si on veut installer PyQt4 alors que PyQt5 est déjà installé. On va voir 2 méthodes pour contourner cet obstacle!+La difficulté principale est que Riverbank a ajouté une sécurité: lorsque PyQt4 est installé, la tentative d'installer **en plus** PyQt5 échoue, parce que le programme d'installation trouve dans le registre de Windows qu'un PyQt est déjà présent. Le contraire est vrai aussi si on veut installer PyQt4 alors que PyQt5 est déjà installé. On va voir comment contourner cet obstacle!
  
-Cette méthode est issue d'une discussion sur le forum Python de developpez (merci à wiztricks!).+Cette méthode est issue d'une discussion sur le forum Python de developpez (merci à wiztricks!): [[http://www.developpez.net/forums/f96/autres-langages/python-zope/]].
  
-===== Création et utilisation des environnements virtuels =====+A noter: on considére ici qu'on a déjà PyQt4 d'installé "normalement" et qu'on crée un environnement virtuel pour mettre PyQt5 en plus, mais on peut aussi faire le contraire: PyQt5 installé normalement et PyQt4 dans l'environnement virtuel. Ce sera d'ailleurs la solution future la plus pratique lorsque PyQt5 sera la bibliothèque "normale" et qu'on voudra avoir PyQt4 "en plus" pour essayer les anciens programmes.  
  
-Nous avons, par exemple, le Python 3.4 installé ici: c:\python34. Il contient déjà les modules généraux par rapport aux utilisations qu'on en a, par exemple: scipy, numpy, matplotlib, cython, cx_freeze, etc... Par contre, **//si on a déjà l'un des PyQt (4 ou 5): il faut le désinstaller!//**+===== Création et utilisation de l’environnement virtuel =====
  
-On va créer les 2 environnements virtuels dans les répertoires nommés (par exempled:\pyenvqt4 et pyenvqt5 comme suit avec la console de Windows (cmd.exe):+Nous avons, par exemple, le Python 3.4 installé ici: C:\Python34. Il contient déjà PyQt4, ainsi que les modules externes pour couvrir les utilisations qu'on en a, par exemple: scipy, numpy, matplotlib, cython, cx_freeze, etc...  
 + 
 +On va créer un environnement virtuel dans un répertoire nommé, par exempled:\pyenvqt5 comme suit avec la console de Windows (cmd.exe):
  
 <code> <code>
-c:\python34\python.exe -m venv d:\pyenvqt4 +C:\Python34\python.exe -m venv d:\pyenvqt5
-c:\python34\python.exe -m venv d:\pyenvqt5+
 </code> </code>
  
-On va faire une petite correction des fichiers pyvenv.cfg qui se trouvent maintenant à la racine de ces 2 environnements virtuels: mettre include-system-site-packages à true au lieu de false: l'avantage est que les programmes lancés sous cet environnement auront ainsi accès aux modules externes installés dans le python normal (c:\python34).+On va faire une petite correction du fichier pyvenv.cfg qui se trouve maintenant à la racine de ce répertoire: mettre include-system-site-packages à "trueau lieu de "false": l'avantage est que les programmes lancés sous cet environnement virtuel auront ainsi accès aux modules externes installés dans le python normal (C:\Python34).
  
-Ça y est: on a les 2 environnements virtuels! Ça va, ce n'était pas trop douloureux? ;-)+Ça y est: on a l'environnement virtuel destiné à recevoir PyQt5! Ça va, ce n'était pas trop douloureux? ;-)
  
-Quand on regarde ce qu'il y a dedans, on voit qu'il y a les exécutables python:+Quand on regarde ce qu'il y a dedans, on voit qu'il y a les exécutables python dans le sous-répertoire Scripts:
  
 <code> <code>
-d:\pyenvqt4\Scrips\python.exe 
-d:\pyenvqt4\Scrips\pythonw.exe 
- 
 d:\pyenvqt5\Scrips\python.exe d:\pyenvqt5\Scrips\python.exe
 d:\pyenvqt5\Scrips\pythonw.exe d:\pyenvqt5\Scrips\pythonw.exe
 </code> </code>
  
-On voit aussi que les 2 ont des répertoires "Lib\site-packages" qui pourront accueillir des modules installés, et en particulier nos PyQt.+On voit aussi qu'il y a au même endroit pip et easy-install pour installer d'autres modules externes.
  
-L'utilisation est super-simple: il suffit pour exécuter un programme python quelconque "monprogramme.py" de faire: +On voit enfin qu'il y a le répertoire "Lib\site-packages" qui pourra accueillir des modules externes installés, et en particulier notre PyQt5Ainsi d'ailleurs que n'importe quel autre module qu'on voudrait installer en plus!
- +
-<code python> +
-d:\pyenvqt4\Scripts\python.exe  monprogramme.py +
-</code>+
  
-ou:+L'utilisation est super-simple: il suffit pour exécuter un programme python quelconque "monprogramme.py" avec le Python de l'environnement virtuel de faire dans une console cmd:
  
 <code python> <code python>
Ligne 65: Ligne 63:
 </code> </code>
  
-Il faudra peut-être faire en sorte que l'interpréteur possède toutes les adresses lui permettant de trouver toutes les importations dont le programme besoiny compris si les modules font partie du Python de base c:\python34voir la variable d'environnement PYTHONPATH.+Pour installer des modules complémentaires soit dans le python normal C:\Python34, soit dans l'environnement virtuel d:\pyenvqt5, il suffit, selon la méthode d'installation: 
 +  * d'utiliser le bon pip (l'environnement virtuel le sien) 
 +  * ou le bon python.exe si on utilise le setup.pycelui de C\Python34 ou celui de d:\pyenvqt5\Scripts exécutera le "setup.py install" du programme à installer,  
 +  * ou, avec les binaires exe, de donner la bonne adresse d'installation dans le programme d'installation.
  
-Pour installer des modules complémentaires dans l'un des 3 emplacements: c:\python34, d:\pyenqt4 ou d:\pyenvqt5, il suffit, selon la méthode d'installation, d'utiliser le bon pip (chaque environnement virtuel a le sien)ou le bon python.exe si on utilise "python setup.exe install", ou, avec les binaires exe, de donner la bonne adresse d'installation. +Pour détruire l'environnement virtuel, après avoir désinstallé tout ce qu'on y a mis, on fait:
- +
-Pour détruire les environnements virtuels, on fait:+
  
 <code> <code>
-c:\python34\python.exe -m venv --clear d:\pyenvqt4 +C:\Python34\python.exe -m venv --clear d:\pyenvqt5
-c:\python34\python.exe -m venv --clear d:\pyenvqt5+
 </code> </code>
  
Ligne 81: Ligne 79:
  
  
-===== Méthode avec modification du registre =====+===== Installation de PyQt5 =====
  
 On passe maintenant aux choses sérieuses. On passe maintenant aux choses sérieuses.
  
-Je rappelle que le Python de base ne doit avoir ni PyQt4 ni PyQt5. Si nécessaire, on désinstalle celui qui y est.+Je rappelle que le Python de base n'a ici que PyQt4.
  
-Les PyQt4 et PyQt5 en binaire à installer pour Windows sont chez riverbank: [[http://www.riverbankcomputing.co.uk/software/pyqt/intro]].+Le PyQt5 en binaire à installer pour Windows est chez riverbank: [[http://www.riverbankcomputing.co.uk/software/pyqt/intro]].
  
-On **//installe PyQt4 dans d:\pyenvqt4//**. Attention: au début de l'installation, il y a un mode "Full" qui est proposé qui ne convient pas: il faut sélectionner "**Custom**": c'est ça qui permettra de choisir l'adresse où il faut installer qui est "d:\pyenvqt4".+On **//installe PyQt5 dans d:\pyenvqt5//**. Attention: au début de l'installation, il y a un mode "Full" qui est proposé qui ne convient pas: il faut sélectionner "**Custom**": c'est ça qui permettra de choisir l'adresse où il faut installer qui est "d:\pyenvqt5".
  
-Une fois l'installation terminée, vous pouvez vérifier qu'ont été ajoutés lors de l'installation le répertoire "d:\pyenvqt4\Lib\site-packages\PyQt4" et le fichier "d:\pyenvqt4\Lib\site-packages\sip.pyd".+Mais ça ne marche pas: il trouve l'installation précédente de PyQt4 dans le registre et refuse d'aller plus loin.
  
-Mais si vous lancez maintenant l'installation de PyQt5 pour le mettre dans "d:\pyenvqt5", ça ne marche pas: il trouve l'installation précédente de PyQt4 dans le registre et refuse d'aller plus loin.+En fait, l'installation de PyQt4 a créé dans le registre les clés suivantes: "PyQt4\py3.4\InstallPath" avec la valeur: "C:\Python34". Sous Windows 8.1 64 bits et Python 3.4 32 bitsces clés se trouvent dans "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node". Pour d'autres configurations, cherchez: le principe est le même
  
-En fait, l'installation de PyQt4 a créé dans le registre les clés suivantes: "PyQt4\py3.4\InstallPath" avec la valeur: "d:\pyenvqt4". Sous Windows 8.1 64 bits et Python 3.4 32 bitsces clés se trouvent dans "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node". Pour d'autres configurations, cherchezle principe est le même+Alorson exécute l'éditeur de registre "regedit.exe", et avec lui, **//on va mettre à "chaine vide"//** cette adresse "C:\Python34"! Grâce à çal'installation de PyQt5 dans d:\pyenvqt5 se déroulera sans broncher
  
-Alors, on prend l'éditeur de registre "regedit.exe", et avec lui, **//on va mettre à "chaine vide"//** cette adresse "d:\pyenvqt4"! Grâce à ça, l'installation de PyQt5 dans d:\pyenvqt5 se déroulera sans broncher+Attention: il faudra **//remettre cette même adresse à "C:\Python34après l'installation de PyQt5//**, parce que la désinstallation de PyQt4 (pour mise à jour par exemple) aura absolument besoin de cette adresse.
  
-Attentionil faudra **//remettre cette adresse après l'installation//** de PyQt5parce que la désinstallation de PyQt4 (pour mise à jour par exemple) aura absolument besoin de cette adresse.+Il y a un dernier petit travail à faireapprendre aux 2 PyQt où se trouvent leurs éléments! C'est justifié par le fait que les parties "Qt" contiennent des adresses "codées en dur"qui sont fausses dans le cas de "PyQt".On le fait en plaçant un petit fichier texte "qt.conf" dans le répertoire qui contient l'exécutable Python.
  
-Il y a un dernier petit travail à faireapprendre aux 2 PyQt où se trouvent leurs éléments! On le fait en plaçant un petit fichier texte "qt.confdans le sous-répertoire Script (au même niveau que python.exe) et qui contiendra pour d:\pyenvqt4:+Pour le PyQt4 de C:\Python34, le qt.conf sera dans C:\Python34 et contiendra:
  
 <code> <code>
 [Paths] [Paths]
-Prefix = ../Lib/site-packages/PyQt4+Prefix = Lib/site-packages/PyQt4
 Binaries = . Binaries = .
 Plugins = plugins Plugins = plugins
Ligne 111: Ligne 109:
 </code> </code>
  
-et pour d:\pyenvqt5:+Pour le PyQt5 de d:\pyenvqt5, le qt.conf sera dans d:\pyenvqt5\Scripts et contiendra:
  
 <code> <code>
Ligne 121: Ligne 119:
 </code> </code>
  
-Ça y est: **vous avez PyQt4 et PyQt5 en même temps!** Il vous suffit d'appeler le "bon python" (celui qui a le bon PyQt) pour exécuter le programme.+Ça y est: **vous avez PyQt4 et PyQt5 en même temps!** Il vous suffit d'appeler le "bon python" (celui qui a le bon PyQt) pour exécuter un programme.
  
 A titre de vérification, vous pouvez lancer les démos de PyQt: A titre de vérification, vous pouvez lancer les démos de PyQt:
Ligne 128: Ligne 126:
  
 <code> <code>
-d:\pyenvqt4\Scripts\pythonw.exe  d:\pyenvqt4\Lib\site-packages\PyQt4\examples\demos\qtdemo\qtdemo.pyw+C:\Python34\pythonw.exe  C:\Python34\Lib\site-packages\PyQt4\examples\demos\qtdemo\qtdemo.pyw
 </code> </code>
  
Ligne 137: Ligne 135:
 </code> </code>
  
 +A noter: 
  
-===== Méthode sans toucher au registre =====+  * puisque les programmes lancés avec le python de l'environnement virtuel ont accès aux modules externes installés dans le Python "normal" (celui de C:\Python34), on pourrait se dire qu'on a accès **//aussi//** à PyQt4: mais ça ne marche pas à cause de ces problèmes d'adresses des répertoires de PyQt placées dans qt.conf. 
  
-Pour ceux qui ne veulent pas toucher au registre, voilà comment faire:+  * puisqu'on réussi à installer PyQt4 et PyQt5 avec l'astuce de la modification du registre, on peut avoir l'idée d'installer les 2 dans le même Python C:\Python34, mais ça ne marche pas: il y a un fichier sip.pyd dans le répertoire site-packages qui est spécifique à chacun des PyQt. On retrouve bien la condition de Riverbank: pour avoir PyQt4 et PyQt5 en même temps sous Windows, il faut reconstruire (recompiler) à partir des sources avec la même version de sip!
  
-Rappel: si on a PyQt installé avec le Python de base c:\python34: on le désinstalle.+===== Configuration des appels =====
  
-Pour PyQt4:+**__Pour exécuter les programmes Python .py et .pyw:__**
  
-  * on **//installe//** PyQt4 dans l'environnement virtuel "d:\pyenvqt4". On utilise le mode "Customet non "Full" pour pouvoir donner la bonne adresse d'installation "d:\pyenvqt4"+Puisqu'on a toujours le Python "normalen C:\Python34, il est logique de laisser le branchement des fichiers python sur celui-ciAinsidans l'explorateur de fichiers Windows:  
-  * on recopie dans un répertoire temporaire d\pyenvqt4\Lib\site-packages\PyQt4 et d\pyenvqt4\Lib\site-packages\sip.pyd. +  * un double clic sur un fichier .py appellera C:\Python34\python.exe,  
-  * on **//désinstalle//** PyQt4 +  * un double clic sur un fichier .pyw appellera C:\Python34\pythonw.exe.  
-  * on remet le répertoire PyQt4 et le fichier sip.pyd à leur place d'origine dans d\pyenvqt4\Lib\site-packages. +  
- +Seuls les programmes python nécessitant PyQt5 devront être lancés impérativement par le python de l'environnement virtuel: d:\pyenvqt5\Scripts\python.exe pour les programmes .py et d:\pyenvqt5\Scripts\pythonw.exe pour les programmes .pyw.
-On fait la même chose pour PyQt5 (et comme PyQt4 a été désinstallé, l'installation de PyQt5 réussira!): +
- +
-  * on **//installe//** PyQt5 dans l'environnement virtuel d:\pyenvqt5On utilise le mode "Custom" et non "Full" pour pouvoir donner la bonne adresse d'installation "d:\pyenvqt5"+
-  * on recopie dans un répertoire temporaire d\pyenvqt5\Lib\site-packages\PyQt5 et d\pyenvqt5\Lib\site-packages\sip.pyd. +
-  * on **//désinstalle//** PyQt5 +
-  * on remet le répertoire PyQt5 et le fichier sip.pyd à leur place d'origine dans d\pyenvqt5\Lib\site-packages. +
- +
-Donc: pour Windows, PyQt4 et PyQt5 n'existent pas en tant que logiciels installés: mais ils sont tout de même là, et ils sont parfaitement fonctionnels! +
- +
-Une réserve cependant sur cette méthode: si un module externe supplémentaire devait être installé plus tard et nécessitait l'installation préalable de PyQt, peut-être que ce serait plus difficile (puisque pour Windows, PyQt n'est pas installé), et il faudrait alors plutôt choisir la méthode précédente avec modification du registre.  +
- +
-On termine comme avec la solution précédente en plaçant le fichier qt.conf au même niveau que Python.exe (dans Scripts), et contenant la même chose pour que les PyQt puissent retrouver leurs petits. +
- +
-pour d:\pyenvqt4: +
- +
-<code> +
-[Paths] +
-Prefix = ../Lib/site-packages/PyQt4 +
-Binaries = . +
-Plugins = plugins +
-Translations = translations +
-</code> +
- +
-et pour d:\pyenvqt5: +
- +
-<code> +
-[Paths] +
-Prefix = ../Lib/site-packages/PyQt5 +
-Binaries = . +
-Plugins = plugins +
-Translations = translations +
-</code> +
- +
-Et c'est tout! +
- +
-A titre de vérification, vous pouvez lancer les démos de PyQt dans une console (cmd.exe): +
- +
-pour PyQt4: +
- +
-<code> +
-d:\pyenvqt4\Scripts\pythonw.exe  d:\pyenvqt4\Lib\site-packages\PyQt4\examples\demos\qtdemo\qtdemo.pyw +
-</code> +
- +
-et pour PyQt5: +
- +
-<code> +
-d:\pyenvqt5\Scripts\pythonw.exe d:\pyenvqt5\Lib\site-packages\PyQt5\examples\qtdemo\qtdemo.pyw  +
-</code> +
- +
-===== Configuration des appels =====+
  
 **__Pour Eclipse + pydev:__** **__Pour Eclipse + pydev:__**
  
-On peut avoir 2 workspaces (2 répertoires d:\pydevqt4 et d:\pydevqt5) pour porter les projets de PyQt4 pour l'un et PyQt5 pour l'autre. Et on a sur le bureau 2 icônes de lancement: eclipse_qt4 et eclipse_qt5 avec les workspaces comme argument:+On peut avoir 2 workspaces (2 répertoires d:\pydevqt4 et d:\pydevqt5) pour porter les projets de PyQt4 pour l'un et PyQt5 pour l'autre. Et on a sur le bureau 2 icônes de lancement: eclipse_qt4 et eclipse_qt5 avec les workspaces comme argument précédé de l'option "-data":
  
 <code> <code>
Ligne 212: Ligne 161:
  
 Pour chacun de ces workspaces, on fait reconnaître le bon interpréteur Python: Pour chacun de ces workspaces, on fait reconnaître le bon interpréteur Python:
- +  * pour le workspace d:\pydevqt4, l'interpréteur python est: C:\Python34\python.exe 
-pour le workspace d:\pydevqt4, l'interpréteur python est: d:\pyenvqt4\Scripts\python.exe +  pour le workspace d:\pydevqt5, l'interpréteur python est: d:\pyenvqt5\Scripts\python.exe
-pour le workspace d:\pydevqt5, l'interpréteur python est: d:\pyenvqt5\Scripts\python.exe+
  
 Avec la touche "Apply", pydev cherche les adresses supplémentaires: vérifiez qu'il les a toutes et dans le bon ordre, sinon, modifiez-les: Avec la touche "Apply", pydev cherche les adresses supplémentaires: vérifiez qu'il les a toutes et dans le bon ordre, sinon, modifiez-les:
  
-Pour le workspace d:\pydevqt4:+Pour le workspace d:\pydevqt4 pour le développement avec PyQt4:
  
 <code> <code>
-d:\pyenvqt4 +C:\Python34 
-d:\pyenvqt4\Lib\site-packages +C:\Python34\DLLs 
-c:\python34 +C:\Python34\lib 
-c:\python34\DLLs +C:\Python34\Lib\site-packages
-c:\python34\lib +
-c:\python34\Lib\site-packages+
 </code> </code>
  
-Et pour le workspace d:\pydevqt5:+Et pour le workspace d:\pydevqt5 pour le développement avec PyQt5:
  
 <code> <code>
 d:\pyenvqt5 d:\pyenvqt5
 +d:\pyenvqt5\Lib
 d:\pyenvqt5\Lib\site-packages d:\pyenvqt5\Lib\site-packages
-c:\python34 +C:\Python34 
-c:\python34\DLLs +C:\Python34\DLLs 
-c:\python34\lib +C:\Python34\lib 
-c:\python34\Lib\site-packages+C:\Python34\Lib\site-packages
 </code> </code>
  
-Ça y est, vous pouvez travailler sous PyQt4 et PyQt5, et même simultanément à l'écran! +Ça y est, vous pouvez travailler sous PyQt4 et PyQt5, et même simultanément à l'écran, car vous pouvez avoir les 2 fenêtres "eclipse" en même temps
  
 **__Pour geany:__** **__Pour geany:__**
Ligne 263: Ligne 210:
 **__Pour idle:__** **__Pour idle:__**
  
-On peut toujours travailler avec l'idle du Python de base c:\python34, mais, bien sûr, les PyQt seront alors inaccessibles à l'importation+On peut toujours travailler avec l'idle du Python de base C:\Python34, mais, bien sûr, seul PyQt4 sera disponible à l'importation:
- +
-Pour avoir idle avec PyQt4, il faudra lancer:+
  
 <code> <code>
-d:\pyenvqt4\Scripts\pythonw.exe c:\Python34\Lib\idlelib\idle.pyw+C:\Python34\pythonw.exe C:\Python34\Lib\idlelib\idle.pyw
 </code> </code>
  
-Et pour avoir idle avec PyQt5:+Et pour avoir idle avec PyQt5, il faut lancer le même idle.pyw, mais avec le Python.exe de l'environnement virtuel:
  
 <code> <code>
-d:\pyenvqt5\Scripts\pythonw.exe c:\Python34\Lib\idlelib\idle.pyw+d:\pyenvqt5\Scripts\pythonw.exe C:\Python34\Lib\idlelib\idle.pyw
 </code> </code>
  
Ligne 282: Ligne 227:
  
 <code> <code>
-d:\pyenvqt4\Lib\site-packages\PyQt4\assistant.exe +C:\Python34\Lib\site-packages\PyQt4\assistant.exe 
-d:\pyenvqt4\Lib\site-packages\PyQt4\designer.exe +C:\Python34\Lib\site-packages\PyQt4\designer.exe 
-d:\pyenvqt4\Lib\site-packages\PyQt4\linguist.exe +C:\Python34\Lib\site-packages\PyQt4\linguist.exe 
-d:\pyenvqt4\Lib\site-packages\PyQt4\pyuic4.bat +C:\Python34\Lib\site-packages\PyQt4\pyuic4.bat 
-d:\pyenvqt4\Lib\site-packages\PyQt4\pyrcc4.exe +C:\Python34\Lib\site-packages\PyQt4\pyrcc4.exe
  
 d:\pyenvqt5\Lib\site-packages\PyQt5\assistant.exe d:\pyenvqt5\Lib\site-packages\PyQt5\assistant.exe
pyqt4_et_pyqt5_sous_windows.txt · Dernière modification: 2015/04/17 05:55 de tyrtamos