Je suis très nouveau sur PyDev et Python, même si j'ai beaucoup utilisé Eclipse pour Java. J'essaie de travailler sur certains des exemples Dive Into Python et cela ressemble à un problème extrêmement trivial qui devient tout simplement extrêmement ennuyeux. 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 mon 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 veux que la ligne suivante de mon code soit:
import odbchelper
et cela provoque une erreur d'importation non résolue à chaque fois. J'ai ajouté des __init__.py
fichiers à presque tous les répertoires possibles et cela n'aide en rien. J'ai essayé d'ajouter des __init__.py
fichiers un à la fois 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 __init__.py
fichiers à tous les répertoires intermédiaires simultanément. Aucun des deux ne fonctionne.
Tout ce que je veux faire, c'est avoir un projet quelque part dans un autre répertoire, par exemple /Desktop/MyStuff/Project
, dans lequel j'ai example.py ... et ensuite de example.py je veux importer odbchelper.py depuis/Desktop/Python_Tutorials/diveintopython/py/
Chaque réponse de forum que je peux trouver en disant simplement d'utiliser la sys.path.append()
fonction pour ajouter ce répertoire à mon chemin, puis 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- 1truc 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'est pas ajouté, ou il y a un problème que toutes mes nombreuses permutations d'ajout de __init__.py
fichiers ont manqué.
C'est très frustrant que quelque chose d'aussi simple ... appeler des choses à partir d'un fichier qui existe ailleurs sur ma machine ... nécessite autant d'efforts.
grp
module. Je viens de l'ajouter à labuiltins
liste dans Préférences> PyDev> Interprètes> Python> Forced Builtins et j'obtiens toujours l'auto-complétion pour ce moduleRéponses:
Dans les propriétés de votre projet pydev, il y a 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 à l'aide de ce volet. Le code de votre projet pourra alors importer des modules à partir de ces dossiers source.la source
sys.path
C:\Python27\lib\site-packages
, mais sur mon ordinateur, le dossier lib est capitalisé:C:\Python27\Lib\site-packages
. Le remplacement de l'entrée minuscule par une entrée majuscule, puis Fichier-> Redémarrer a résolu le problème pour moi. J'espère que cela aide quelqu'un d'autre là-bas :)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 toutes les options ci-dessus, mais en vain. Ensuite, j'ai essayé ce qui suit, ce qui était super:
Et j'utilisais Python 2.7 comme interpréteur, bien que cela n'affecte pas, je pense.
la source
Je viens de mettre à niveau un projet WXWindows vers Python 2.7 et je n'ai eu aucun problème pour que Pydev reconnaisse le nouvel interpréteur. Fait la même chose que ci-dessus en configurant l'interpréteur, fait une nouvelle installation d'Eclipse et Pydev. Je pensais qu'une partie de python devait être corrompue, alors j'ai tout réinstallé à nouveau. Arghh! Fermé et rouvert le projet, et redémarré Eclipse entre tous ces changements.
FINALEMENT remarqué que vous pouvez «supprimer la configuration du projet PyDev» en faisant un clic droit sur le projet. Ensuite, il peut à nouveau être transformé en un projet PyDev, maintenant c'est bon comme l'or!
la source
J'ai corrigé mon pythonpath et tout était dandy lorsque j'ai importé des éléments via la console, mais toutes ces importations non résolues auparavant étaient toujours marquées comme des erreurs dans mon code, peu importe le nombre de fois que j'ai redémarré eclipse ou actualisé / nettoyé le projet.
J'ai cliqué avec le bouton droit sur le projet-> Pydev-> Supprimer les marqueurs d'erreur et il s'est débarrassé de ce problème. Ne vous inquiétez pas, si votre code contient des erreurs réelles, elles seront à nouveau marquées.
la source
projet -> propriétés -> pydev-pythonpath -> bibliothèques externes -> ajouter le dossier source, ajouter le DOSSIER PARENT du projet. Puis redémarrez eclipse.
la source
Voici ce qui a fonctionné pour moi (suggéré par soulBit):
C'est la solution la plus simple qui soit et elle supprime complètement la chose ennuyeuse.
la source
Il existe deux façons de résoudre ce problème:
Maintenant, je ne vois plus l'erreur, et la fonction de complétion de code fonctionne aussi bien avec "bouteille".
la source
J'exécute Eclipse 4.2.0 (Juno) et PyDev 2.8.1, et j'ai rencontré ce problème avec une bibliothèque installée sur le chemin de mon site-packages. Selon cette question SO:
Fichiers Pydev et * .pyc
... il y a un problème avec les fichiers PyDev et pyc. Dans le cas de la bibliothèque particulière que j'ai essayé de référencer, tout ce qui est livré est des fichiers pyc.
Voici ce que j'ai fait pour résoudre ce problème:
Exécutez uncompyle2 sur les fichiers * .pyc dans la bibliothèque site-packages. Exemple:
uncompyle2 -r -o / tmp / chemin / vers / site-packages / lib
L'erreur d'importation non résolue relative aux fichiers .pyc devrait maintenant disparaître.
la source
Suivant, à mon avis, résoudra le problème
une. Selon ce que David German a suggéré. Cependant, cela ne s'applique qu'aux projets particuliers dans lesquels vous êtes. Ajoutez "~ / Desktop / Python_Tutorials / diveintopython / py" dans un nouveau PythonPath sous Fenêtre -> Préférences -> PyDev -> Interpréteurs -> Interpréteur Python -> Sous-onglet Bibliothèques -> NewFolder
J'espère que ça aide.
la source
J'ai eu quelques problèmes lors de l'importation de bibliothèques supplémentaires, après avoir essayé de résoudre le problème, en comprenant PYTHONPATH, l'interpréteur et la grammaire, j'ai trouvé que j'avais tout écrit, mais les problèmes persistent. Après cela, j'ajoute simplement une nouvelle ligne vide dans les fichiers contenant les erreurs d'importation et les ai sauvegardées et l'erreur a été résolue .
la source
CECI fonctionne parfaitement pour moi
Un autre exemple est
la source