2017-08-08 3 views
0

J'ai déjà rencontré ce problème dans de nombreux articles, mais aucune des réponses ne m'a aidé. Donc, voici mon problème.Impossible d'importer QtGui à partir de PyQt4

Je suis sur windows. Je python version 3.6

1) Je TELECHARGEMENT un fichier de roue (PyQt4-4.11.4-CP36-cp36m-win_amd64.whl) de PyQt4 là: http://www.lfd.uci.edu/~gohlke/pythonlibs/

Et je sauvé ici: C: \ Users \ Anne-Sophie

2) J'ouvre une fenêtre shell en tant qu'administrateur et je lance "pip installer PyQt4-4.11.4-CP36-cp36m-win_amd64.whl"

L'installation semble fonctionner même si Je reçois le message:

Requirement 'PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist 

Quand je re-run "pip installer PyQt4-4.11.4-CP36-cp36m-win_amd64.whl" Je reçois toujours ce message mais je reçois aussi "Requirement already satisfied: PyQt4==4.11.4 from file:///C:/WINDOWS/system32/PyQt4-4.11.4-cp36-cp36m-win_amd64.whl in c:\users\anne-sophie\anaconda3\lib\site-packages"

3) Maintenant, quand j'ouvre un cahier python et écrivez "import PyQt4" Je ne reçois aucune erreur.

Mais quand j'écris from PyQt4 import QtGui je reçois le message d'erreur: ImportError: cannot import name 'QtGui'

4) Je suis allé à C:\Users\Anne-Sophie\Anaconda3\Lib\site-packages\PyQt4 et je vis que QtGui était pas PyQt4 mais PyQt4/gorgée donc j'écris ce from PyQt4.sip import QtGui travaille ... .

5) Je vais à ce site pour beginers avec PyQt4: https://pythonprogramming.net/basic-gui-pyqt-tutorial/

Et j'écris:

import sys 
from PyQt4.sip import QtGui 
app = QtGui.QApplication(sys.argv) 

Je reçois l'erreur: AttributeError: module 'PyQt4.sip.QtGui' has no attribute 'QApplication'

Finally here are my questions:

Q1: do you think that Requirement 'PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist is a problem (step 2) if import PyQt4 is working?

Q2: do you know what I am doing wrong? nobody is using from PyQt4.sip import QtGui so I am not sure that I should do it..... Moreover, even when I do it, I still get error when I go further

Q3: does someone know how to make it work?

Répondre

0

Q1: Je pense que vous obtenez le message d'erreur ('PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist) parce que vous exécutez la commande pip à partir d'un répertoire différent de celui que vous avez enregistré le fichier de roue, de sorte pip ne pouvait pas trouver le fichier de la roue. Il est probablement allé de l'avant et téléchargé à partir de l'index Python Package parce que la deuxième fois que vous avez exécuté Pip il a dit que PyQt4 était déjà installé.

Q2: Non, vous ne devriez pas avoir sip dans vos instructions d'importation. Juste from PyQt4 import QtGui devrait fonctionner. Il y a un problème avec votre installation.

Q3: Le problème est plus probable que vous avez installé PyQt4 à l'aide pip à côté du paquet pyqt de Anaconda (vous pouvez le vérifier avec la commande conda list). Vous ne pouvez pas faire cela pour PyQt. Pip et Anaconda fonctionnent généralement bien ensemble mais dans le cas de PyQt, ils ne le font pas parce que les noms de paquets diffèrent.

Je vous recommande de réinstaller Anaconda et d'utiliser uniquement Anaconda pour installer PyQt.

Peut-être avez-vous déjà essayé cela mais êtes-vous allé avec pip parce que PyQt4 n'est pas disponible pour Python 3.6.Si vous voulez seulement essayer le tutoriel, vous pouvez rétrograder vers Python 3.5. Une autre option consiste à utiliser PyQt5. La plus grande différence avec PyQt4 est que le paquet QtGui a été divisé en QtWidgets et QtGui. Donc traduire les exemples en PyQt5 devrait être facile.