J'ai du mal à faire que PyDev sur Eclipse reconnaisse les modules déjà installés. Voici mon approche détaillée. La machine est un Mac (Snow Leopard).
En terminal la commande
python --version
montre Python 2.6.6 .
import unidecode
et
from unidecode import unidecode
travailler les deux bien!
J'ai installé PyDev dans Eclipse et je suis allé configurer l’interpréteur Python (Auto Config). J'ai sélectionné tous les paquets proposés et appuyé sur Appliquer et Ok .
Mais Eclipse continue à se plaindre
Traceback (most recent call last):
File "/Users/me/Documents/workspace/myproject/python/pythontest.py", line 12, in <module>
from unidecode import unidecode
ImportError: No module named unidecode
Le fichier python ressemble à ceci
#!/usr/bin/env python
# encoding: utf-8
import sys
import os
from unidecode import unidecode
def main():
print unidecode(u"Ågot Aakra")
if __== '__main__':
main()
Quand je supprime la première ligne du script
#!/usr/bin/env python
il en résulte la même erreur.
Est-ce que quelqu'un sait où se situe le problème?
C'est la solution à mon problème:
../site-packages/
de votre version python correspondante. (Pour moi, c'était /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/
pour python 2.6 sur mon Mac avec Snoe Leopard.)../site-packages/
de votre version python correspondante.Et vous devriez être prêt à partir. =)
Merci à tous les participants, qui ont fourni des indications dans la bonne direction dans les commentaires.
J'ai rencontré le même problème aujourd'hui. J'utilise pydev et ai eu un projet de travail avec un certain nombre de sous-paquets. Tout à coup, après avoir créé un nouveau module, je n'ai pas pu utiliser ce module dans un package différent. La fonctionnalité déroutante était que je pouvais utiliser un autre module dans le même sous-paquet ...
Enfin après
J'ai supprimé toutes les classes compilées avec le script suivant:
import os
def clean_folder(folder):
for file in os.listdir(folder):
path = os.path.join(folder,file)
if os.path.isdir(path):
clean_folder(path)
if '.pyc' == file[-4:]:
print 'deleting: ' + str(path)
os.remove(path)
if __== '__main__':
folder = 'YOUR_PROJECT_SRC_PATH'
clean_folder(folder)
et enfin je peux faire un travail "réel":) J'espère que cela aidera quelqu'un ...
Vous pouvez simplement ajouter le module au chemin pydev. Accédez aux propriétés du projet (à partir du menu contextuel) -> PyDev -> PYTHONPATH -> Bibliothèques externes. Selon que le module se trouve dans un dossier source ou dans un fichier Zip/Egg, sélectionnez Ajouter un dossier source ou Ajouter Zip/jar/Egg. Accédez au répertoire site-packages et pointez sur le fichier ou le dossier approprié (le mien est: /usr/local/lib/pythonx.x/site-packages)
Lorsque Eclipse est "perdu" par rapport aux packages existants sur votre système ou dans votre projet, dans le menu contextuel de votre projet, choisissez l'élément de menu "Propriétés", puis l'élément "PyDev - PYTHONPATH" dans l'arborescence à gauche de dans la boîte de dialogue, puis sur le bouton "Forcer la restauration des informations internes". Apparemment, PyDev conserve un cache calculé des informations et lorsque, pour une raison quelconque, le cache devient incohérent, vous pouvez forcer PyDev à recalculer.
Dans mon cas, je ne rencontrais pas cette erreur avant la compilation, mais lors de la compilation, j'ai reçu l'erreur ImportError: aucun module nommé myant.core . J'ai essayé d'ajouter les fichiers de PyDev-PYTHONPATH , mais encore une fois, j'ai eu la même erreur. Ensuite, j'ai réalisé que je n'avais pas besoin d'ajouter le chemin exactement au dossier où se trouvaient mes fichiers .py. Enfait je dois ajouter le dossier où myant.core est situé. Après cela, j’ai redémarré lorsque j’ai recompilé mon projet, le problème a été résolu. Je partagerais que j'ai:
Python 2.7 Eclipse kepler 4.3, PyDev 3.9.2 et sur mon Ubuntu 14.04
.py emplacement des fichiers: /${PROJECT_DIR_NAME}/src/myant/core
, donc j'ai ajouté /${PROJECT_DIR_NAME}/src
@Aufwind votre réponse ci-dessus a aidé mais n'a pas résolu pour moi.
Et puis j'étais prêt à partir. =)
Cela l'a fait pour moi. Aucun redémarrage Eclipse n'était requis.
Essayez les préférences> pydev> interprète - python, puis supprimez et ajoutez l'ajout de l'interpréteur python (assurez-vous de connaître le chemin d'accès avant de le supprimer), cochez toutes les cases lorsque vous l'ajoutez à nouveau.
Pour Oxygen 2 (je pense que cela a fonctionné sur les versions précédentes aussi) ...
Pour que le balisage d'erreur d'importation disparaisse dans mon éditeur de code, je dois saisir un espace après l'importation incriminée, puis enregistrer la modification. L'erreur d'importation disparaît alors, car PyDev peut maintenant trouver le module d'importation incriminé.