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

Python Discussion :

import module spyder


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 104
    Par défaut import module spyder
    Bonjour,

    C'est bizarre je n'arrive pas à lancer ma routine, le import ne fonctionne pas :



    Dans le cas du init de Datastructure (contenant quadtree.py) j'ai bien (Tous les "init" ont cette structure):
    __all__ = ["quadtree"]

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Salut,

    Citation Envoyé par dfshr8 Voir le message
    C'est bizarre je n'arrive pas à lancer ma routine, le import ne fonctionne pas :
    Si "import" ne fonctionnait pas non seulement çà se saurait mais votre code aurait planté bien plus tôt.
    La première chose à vérifier est que la consistance du message d'erreur: s'il ne trouve pas le fichier translations.py dans pyFMM... vérifier s'il y est ou pas ne coûte pas cher mais il n'y a que vous à pouvoir le faire.

    L'étape suivante serait de vérifier que l'import fonctionne depuis la console (i.e. hors IDE, hors application).

    Une cause probable serait que le répertoire pyFMM dans lequel vous avez construit tout ou partie de l'arborescence de votre application soit en conflit avec le "bon" pyFMM.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 104
    Par défaut
    Le fichiers translations.py est bien présent comme on peut le voir dans l'impression écran du message d'origine, où dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @Ellington:~/Dropbox/Stage/Code_FMM/python_code/pyfmm-read-only$ ls pyFMM/Kernels/
    __init__.py  translations.py
    laurent@Ellington:~/Dropbox/Stage/Code_FMM/python_code/pyfmm-read-only$
    J'ai tenté avec la console sans succés!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    python_code/pyfmm-read-only/pyFMM$ python FastMultipole/fastMultipoleMethod.py 
    Traceback (most recent call last):
      File "FastMultipole/fastMultipoleMethod.py", line 6, in <module>
        from pyFMM.Kernels.translations import *
    ImportError: No module named pyFMM.Kernels.translations
    Si quelqu'un accepte de télécharger le module pour vérifier que ça marche pour lui ce serait super sympas:

    J'ai réalisé:
    svn checkout http://pyfmm.googlecode.com/svn/trunk/ pyfmm-read-only sur http://code.google.com/p/pyfmm/wiki/HowToPyFMM
    ce qui m' a créé un dossier pyfmm-read-only avec tous les fihiers. Puis j'ai ouvert python (avec spyder) et tenté de lancer translatins.py (pas de pbm), quadtree.py (pas de pbm) mais pour mais pour FastMultipoleMethod.py ça nefonctionne pas...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 104
    Par défaut
    Ah je crois que c'est une histoire de variable d'environnement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    After downloading (and extracting) the latest version of the code, you need to add the folder of the package to the PYTHONPATH system variable, e.g.: Let suppose that the final folder is /Users/user/pyFMMv1.X.X
     
    export PYTHONPATH=${PYTHONPATH}:/Users/user/pyFMMv1.X.X
    Si quelqu'un peut m' expliquer.. (je suis débutant en informatique donc avec des mots simples)

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Ça n'a rien de compliqué, ton script ne peut importer que ce qu'il trouve dans le dossier où il se trouve et ses sous-dossiers. Ceux-ci ayant un fichier __init__.py comme ce semble être ton cas.

    Mais en aucun cas Python ne remontera dans l'arborescence des dossiers pour rechercher ce que tu demandes.

    Tu peux donc, à cette fin, ajouter un (des) chemin(s) avec sys.path.append('mon/chemin') mais la meilleure solution sera toujours que le script qui lance l'application soit dans le dossier root de celle-ci.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 104
    Par défaut
    Merci j'ai essayé ta secode méthode (ie) de déplacer les dossier Kernels et DataStructure dans le dossier FastMultipole et c'est nickel!


    Je ne comprends pas certaines parties de code, par exemple:
    fac = lambda n: [1, 0] [n > 0] or fac(n - 1) * n

    Qu'est ce que ça fait ? J'ai une fonction 'fa' qui n'est pas définit par la procdure habituelle mais utilise le mot clé lambda. J'imagine que le code signifie
    * le "n:" signifie 'à n j'associe'
    *"[1, 0] [n > 0]" là je ne capte pas (même si je m dute que ca traite les cas 0 et 1)
    * "or fac(n - 1) * n" : definition recursive

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. spécifications d'importation modulables
    Par Ne0zenith dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/06/2009, 16h56
  2. [VBA]Import modules de classe dans Access 2003
    Par pht33 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/04/2007, 15h45
  3. importer module à partir d'une chaîne de caractères
    Par j_p_g dans le forum Général Python
    Réponses: 2
    Dernier message: 23/04/2007, 15h15
  4. [wsad/erreur import war]Error importing module file
    Par valal dans le forum Websphere
    Réponses: 1
    Dernier message: 05/09/2006, 15h01

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