IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI/RAD Python Discussion :

"Undefined variable" sur fonction de NumPy avec PyDev


Sujet :

EDI/RAD Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Points : 17
    Points
    17
    Par défaut "Undefined variable" sur fonction de NumPy avec PyDev
    Bonjour à tous,

    Je poste mon problème car voilà maintenant 4h que j'essaie toutes les options, sans succès.

    Je veux coder un projet en Python, avec Eclipse et le plug-in Pydev.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    cd ~/workspace/
    mkdir MonProjet
    cd MonProjet
    virtualenv env
    . env/bin/activate
    pip install numpy
    Pour résumer :
    • je suis allé dans mon espace de travail ;
    • j'ai créé le dossier du projet "MonProjet" ;
    • j'ai configuré un environnement virtuel dans le sous-dossier "env" ;
    • j'ai activé cet environnement ;
    • et j'ai installé NumPy.


    Jusque là tout va bien. :]

    Je vais maintenant dans Eclipse (le plug-in PyDev est déjà installé). Dans le "PyDev Package Explorer", je clique droit >> "New" >> "Project..." >> "PyDev Project" >> "Next".
    Je remplis le formulaire de la façon suivante :
    • "Project name" => "MonProjet" ;
    • "Project type" => "Python" ;
    • "Grammar version" => "2.6" ;
    • "Interpreter" => Je clique sur "Click here to configure an interpreter not listed." :
      • Je clique sur "New".
      • J'ajoute l'interpréteur "/home/user/workspace/MonProjet/env/bin/python".
      • L'IDE me propose plein de chemin à ajouter : je laisse ceux par défaut.
      • Je clique sur "Apply".
      • Je clique sur "OK".
    • Je clique sur "Finish".


    => Le projet est créé. \o/

    Jusque là aussi tout va bien. :]

    Le problème arrive :

    Je crée un fichier test.py contenant ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from numpy import *
    print arange(3)
    Je l'exécute : il m'affiche bien [0 1 2].

    Le problème est que sur le "arange", Eclipse me donne une erreur "Undefined variable: arange".
    J'ai beau chercher dans tous les sens, j'ai ajouté "numpy" aux "Forced Builtins", j'ai bidouillé, rebidouillé... Rien à faire : je n'arrive pas à faire en sorte qu'Eclipse reconnaisse la fonction. :/

    Donc si quelqu'un a une idée je suis preneur. :]

    Merci et bon week-end.

    PS : J'ai essayé de simplifier le problème au maximum parce que je pense que tous mes soucis viennent du fait que je ne suis pas encore arrivé à configurer cela. Mais sinon j'ai également des problèmes d'auto-complétion dont je parlerai ultérieurement.

    PPS : J'ai également essayé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from numpy.core.numeric import arange
    print arange(10)
    Il fonctionne, et Eclipse n'est plus gêné par le "arange" qui suit le "print". En revanche il me met une erreur "Unresolved import: arange" sur celui qui suit le "import".

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 484
    Points : 9 286
    Points
    9 286
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Bizarre. J'utilise Eclipse + Pydev depuis pas mal de temps sous Windows et Linux (Ubuntu et Suse), et je n'ai jamais rencontré cela. J'utilise sous Ubuntu 10.10: Eclipse v3.5.2 et Pydev 1.6.4 sur java de sun.

    Pire encore, je viens de faire le test, je peux écrire: print xxxxxxxxx(3) sans qu'il proteste: manifestement, mon pydev ne teste pas si la variable a été définie avant. Et, dans tous les cas, il n'ira pas tester les modules à importer comme numpy. A mon avis, Pydev ne fait que détecter les fautes de syntaxe et d'indentation sans aller plus loin.

    Cependant, je n'utilise pas l'environnement virtuel, puisque mes Linux ont déjà Python 2.6 pré-installé. J'ai donc défini mon workspace avec ce Python.

    ???

    Tyrtamos

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Je viens de tester sur une autre machine et tout fonctionne très bien.

    Je tape nump, puis [Ctrl] + [Espace], il me propose "numpy". Je sélectionne cette option et il m'ajoute import numpy automatiquement en haut du fichier.

    Je tape numpy., puis [Ctrl] + [Espace], il me propose bien toutes les fonctions, bien documentées. Et surtout, quand j'en sélectionne une, il la "reconnait".

    Le seul truc que j'ai changé est que j'ai installé numpy via "apt-get install python-numpy" et j'ai utilisé l'interpréteur du système (je n'ai pas utilisé d'environnement virtuel).

    Je vais donc chercher de ce côté là pour l'instant. Mais je dois avouer que je préfèrerais que cela marche avec un virtualenv.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    J'ai trouvé quelques "hacks" qui résolvent une partie de mes problèmes sur ce site : http://jasongiedymin.com/post/385500...ask-extensions

    Je refais des tests plus poussés prochainement et vous tiens au courant.

Discussions similaires

  1. [Prototype] Passage de variable sur fonction new Ajax.Request
    Par Overstone dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 31/08/2007, 12h36
  2. Réponses: 2
    Dernier message: 18/06/2007, 16h29
  3. [Dates] Undefined variable sur une fonction
    Par jiojioforever dans le forum Langage
    Réponses: 4
    Dernier message: 23/03/2007, 12h06
  4. Réponses: 5
    Dernier message: 12/01/2005, 21h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo