Je suis très nouveau dans PyDev et Python, bien que j’ai utilisé Eclipse pour Javabondance. J'essaie de travailler à travers certains exemples de Dive Into Python et cela me semble être un problème extrêmement trivial qui devient de plus en plus énervant. J'utilise Ubuntu Linux 10.04.
Je veux pouvoir utiliser le fichier odbchelper.py, qui se trouve dans le répertoire _/Desktop/Python_Tutorials/diveintopython/py
_
Voici le fichier example.py sur lequel je travaille dans mon projet PyDev/Eclipse:
_import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")
_
Cela fonctionne bien, mais je souhaite ensuite que la prochaine ligne de mon code soit:
_import odbchelper
_
et cela entraîne une erreur d'importation non résolue à chaque fois. J'ai ajouté des fichiers ___init__.py
_ à presque tous les répertoires possibles et cela n'aide en rien. J'ai essayé d'ajouter des fichiers ___init__.py
_ un par un aux différents niveaux de répertoires entre l'emplacement du projet et le fichier odbchelper.py, et j'ai également essayé d'ajouter les fichiers ___init__.py
_ à tous les répertoires entre les deux simultanément. Ni fonctionne.
Tout ce que je veux faire, c'est avoir un projet quelque part dans un autre répertoire, disons _/Desktop/MyStuff/Project
_, dans lequel j'ai example.py ... puis depuis example.py je veux importer odbchelper.py de _/Desktop/Python_Tutorials/diveintopython/py/
_
Toutes les réponses au babillard que je peux trouver ne font que dire d'utiliser la fonction sys.path.append()
pour ajouter ce répertoire à mon chemin, puis de l'importer ... mais c'est précisément ce que je fais dans mon code et cela ne fonctionne pas.
J'ai aussi essayé le Ctrl-1 astuce pour supprimer le message d'erreur, mais le programme ne fonctionne toujours pas correctement. Je reçois une erreur, _ImportError: No module named odbchelper
_. Il est donc clair que le chemin n’a pas été ajouté ou qu’il ya un problème qui a échappé à toutes mes nombreuses permutations consistant à ajouter des fichiers ___init__.py
_.
C'est très frustrant que quelque chose d'aussi simple ... appeler des éléments d'un fichier qui existe ailleurs sur ma machine ... nécessite autant d'efforts.
Dans les propriétés de votre projet pydev, il existe un volet appelé "PyDev - PYTHONPATH", avec un sous-volet appelé "Bibliothèques externes". Vous pouvez ajouter des dossiers source (tout dossier comportant un __init__.py
) au chemin en utilisant ce volet. Votre code de projet pourra alors importer des modules à partir de ces dossiers sources.
J'utilise Eclipse kepler 4.3, PyDev 3.9.2 et sur mon Ubuntu 14.04, j'ai rencontré le même problème. J'ai essayé et passé des heures, avec tout ce qui précède, la plupart des options, mais en vain. Ensuite, j'ai essayé ce qui était génial:
Et j’utilisais Python 2.7 comme interprète, bien que cela n’ait aucun effet, je pense.
Je viens de mettre à niveau un projet WXWindows vers Python 2.7 et je n’ai pas eu beaucoup de mal à faire en sorte que Pydev reconnaisse le nouvel interprète. Fait la même chose que ci-dessus en configurant l'interprète, fait une nouvelle installation d'Eclipse et de Pydev. Pensant qu'une partie de python doit avoir été corrompue, j'ai donc tout ré-installé à nouveau. Arghh! Fermez et rouvrez le projet et redémarrez Eclipse entre toutes ces modifications.
FINALEMENT remarqué que vous pouvez 'supprimer la configuration du projet PyDev' en faisant un clic droit sur le projet. Ensuite, il peut être transformé en un projet PyDev à nouveau, maintenant c'est bon comme de l'or!
J'ai corrigé mon pythonpath et tout était dandy lorsque j'ai importé des éléments via la console, mais toutes ces importations précédemment non résolues étaient toujours marquées comme des erreurs dans mon code, quel que soit le nombre de fois où j'ai redémarré Eclipse ou actualisé/nettoyé le projet.
J'ai cliqué avec le bouton droit de la souris sur le projet-> Pydev-> Supprimer les marqueurs d'erreur et le problème a été résolu. Ne vous inquiétez pas, si votre code contient des erreurs réelles, elles seront à nouveau marquées.
projet -> propriétés -> pydev-pythonpath -> bibliothèques externes -> add dossier source, ajoutez le dossier PARENT du projet. Puis redémarrez Eclipse.
Voici ce qui a fonctionné pour moi (suggéré par soulBit):
1) Restart using restart from the file menu
2) Once it started again, manually close and open it.
C'est la solution la plus simple jamais réalisée et elle supprime complètement la chose gênante.
J'utilise Eclipse 4.2.0 (Juno) et PyDev 2.8.1 et j'ai rencontré ce problème avec une bibliothèque installée dans le chemin de mon site-packages. Selon cette SO question:
... il y a un problème avec les fichiers PyDev et pyc. Dans le cas de la lib en particulier que j'ai essayé de référencer, tout ce qui est livré est un fichier pyc.
Voici ce que j'ai fait pour remédier à cela:
Exécutez uncompyle2 sur les fichiers * .pyc de la librairie de sites-packages. Exemple:
uncompyle2 -r -o/tmp/chemin/à/site-packages/lib
L'erreur d'importation non résolue relative aux fichiers .pyc doit maintenant disparaître.
Il existe deux manières de résoudre ce problème:
Maintenant, je ne vois plus l'erreur, et la fonctionnalité de complétion de code fonctionne aussi avec "bouteille".
Après, à mon avis, va résoudre le problème
une. Selon ce que David German a suggéré. Cependant, cela ne s'applique qu'aux projets particuliers dans lesquels vous vous trouvez. B. Ajouter dans "~/Bureau/Python_Tutorials/diveintopython/py" dans un nouveau PythonPath sous Fenêtre -> Préférences -> PyDev -> Interprètes -> Python Interprète -> Bibliothèques -> Nouveau dossier
J'espère que ça aide.