Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/10/2008, à 11:40

VinsS

RESOLU Python, comment fonctionne le PATH ?

J'essaye de lancer une application créée avec designer Qt4.
Echec dés le départ à cause de :  from PyQt4 import QtCore, QtGui

Je recherche où est installé PyQt4 et je l'inclus dans le chemin de la façon suivante :

vincent@tiemoko:~$ export PATH="/usr/share/sip/PyQt4/:${PATH}"

vérifié :

vincent@tiemoko:~$ echo $PATH
/usr/share/sip/PyQt4/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

ok donc je réessaye :

vincent@tiemoko:~/Python/scripts$ python test1desexe.py 
Traceback (most recent call last):
  File "test1desexe.py", line 10, in <module>
    from PyQt4 import QtCore, QtGui
ImportError: cannot import name QtCore
vincent@tiemoko:~/Python/scripts$

d'où vient le problème ? de plus la variable Path ne conserve pas les chemins qu'on lui ajoute.

vincent

Dernière modification par VinsS (Le 20/10/2008, à 15:52)


Vincent
Oqapy      Qarte      PaQager

Hors ligne

#2 Le 19/10/2008, à 12:58

tiky

Re : RESOLU Python, comment fonctionne le PATH ?

Python n'utilise pas la variable d'environnement PATH pour localiser ses modules. L'interpréteur possède une variable sys.path. Celle-ci contient les chemins dans lesquels l'interpréteur ira chercher les modules lors d'un import. Vérifie que tes paquets sont correctement installés et que tu utilises bien l'instruction import avec Qt4 ( je n'ai jamais programmé avec Qt4 en python ).

Dernière modification par tiky (Le 19/10/2008, à 12:59)


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#3 Le 19/10/2008, à 15:05

VinsS

Re : RESOLU Python, comment fonctionne le PATH ?

Merci, j'avais oublié le module sys. J'ai donc rajouté le chemin dans le shell Python avec:

sys.path.append('le chemin')

et sys.path pour confirmer, si besoin était.
Hélas, hélas il n'en veut toujours pas or, je suis monolithiquement certain de l'endroit où se trouvent ces modules.

Je continue à chercher ...

vincent


Vincent
Oqapy      Qarte      PaQager

Hors ligne

#4 Le 19/10/2008, à 16:45

kaer

Re : RESOLU Python, comment fonctionne le PATH ?

Je pense que le message

ImportError: cannot import name QtCore

ne signifie pas qu'il ne trouve pas PyQt4 mais plutôt que dans le premier fichier PyQt4.py qu'il a trouvé (en suivant le sys.path), il ne trouve pas QtCore.

Le plus souvent, c'est soit un probléme de version, soit de fichier du même nom qui a été mis sur le python path (probablement par toi en l'occurence).

Bonne chance.

Hors ligne

#5 Le 19/10/2008, à 18:58

VinsS

Re : RESOLU Python, comment fonctionne le PATH ?

Oui, oui, bien sur le dossier /usr/lib/python2.5/site-packages/PyQt4/ ne contient aucun des
modules nécessaires, ils se trouvent dans /usr/share/sip/PyQt4/, ça je l'avait trouvé assez rapidement et c'est pourquoi j'ai rajouté ce chemin dans sys.path. Sans résultat.
J'ai fait d'autres essais comme le lien symbolique et même copié ces deux modules dans le dossier PyQt4 de python2.5

Mon sys.path :

sys.path
['/home/vincent/Python/scripts', '/home/vincent', '/usr/bin', '/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/Numeric', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/gst-0.10', '/var/lib/python-support/python2.5', '/usr/lib/python2.5/site-packages/gtk-2.0', '/var/lib/python-support/python2.5/gtk-2.0', '/usr/share/sip/PyQt4']

je suis sur que la réponse n'est pas loin, mais bon

merci, quand même

vincent


Vincent
Oqapy      Qarte      PaQager

Hors ligne

#6 Le 20/10/2008, à 15:51

VinsS

Re : RESOLU Python, comment fonctionne le PATH ?

Et bien la solution n'était pas si proche malgré tout.

Au départ :

/usr/lib/python2.5/site-packages/PyQt4/ ne contient q'un dossier uic et cinq fichiers de config.

/usr/share/sip/PyQt4/ contient tous les modules décrits dans la docu QtCore, QtGui ...etc

L'ajout de ce chemin dans sys.path, d'un lien symbolique vers ce dossier ou même une copie de tous ces dossiers dans /usr/lib....../PyQt4/ ne solutionnaient pas le problème.
A savoir :

Traceback (most recent call last):
  File "/home/vincent/Python/scripts/test1desexe.py", line 10, in <module>
    from PyQt4 import QtCore, QtGui
ImportError: cannot import name QtCore

On considère généralemnt que l'on à tout essayé lorsque l'on est acculé à la dernière solution ; j'ai désinstallé sip (effacé à la main) recompilé, installé et idem pour PyQt4.

maintenant le dossier /usr/lib/python2.5/site-packages/PyQt4/ contient les executables Qtcore.so, QtGui.so, QtHelp.so ...etc et CA FONCTIONNE !

Si ceci peut profiter à d'autres.

vincent


Vincent
Oqapy      Qarte      PaQager

Hors ligne

#7 Le 28/10/2008, à 10:58

hx

Re : RESOLU Python, comment fonctionne le PATH ?

Salut,
j'ai le même problème que Vincent. Python n'arrive pas à trouver QtCore et QtGui.
En fait je crois que j'ai mal compilé mon dossier sip car je n'ai pas de QtCore.co etc comme le dit Vincent...
Dites moi si j'ai juste:
_j'ai placé mon module PyQT4 dans D:\Quantum_gis\python
_idem pour le module sip-4.7.6
_j'ai exécuté sipconfig.py du dossier sip-4.7.6
..et je n'ai tj pas de module QtCore.co
(j'ai un dossier de fichiers QtCore dans mon dossier de fichier PyQt4 par contre, et un script QtCore.pyd illisible dans PyQt4 )

Fallait il installer mon dossier de fichiers "sip" dans PyQT4 ?