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 :

package python et l ide éclipse


Sujet :

Python

  1. #1
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut package python et l ide éclipse
    Projet
    Main.py
    Sous-répertoires fonction
    __init__.py
    mes_fonctions.py

    Je cherche a faire appel aux fonctions déclarée dans le module depuis main.py mais les import sont refusés par éclipse


    Projet
    Main.py
    Sous-répertoires fonction
    __init__.py
    mes_fonctions.py

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # main.py
    from   fonction.mes_fonctions import fonc1, fonc2
    j obtient une erreur
    ModuleNotFoundError: No module named 'fonction'
    les définitions des fonctions sont dans mes_fonctions.py

    Le package est créer via éclipse

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Il manque un fichier __ini__.py quelque part.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par dedalios Voir le message
    Projet
    Main.py
    Sous-répertoires fonction
    __init__.py
    mes_fonctions.py

    Je cherche a faire appel aux fonctions déclarée dans le module depuis main.py mais les import sont refusés par éclipse

    Projet
    Main.py
    Sous-répertoires fonction
    __init__.py
    mes_fonctions.py
    A priori, c'est un soucis dans la (votre) configuration d'Eclipse/PyDev. Qu'Eclipse souligne les imports en rouge ne devrait pas empêcher Python d'exécuter ces imports.
    Comme c'est spécifique à votre configuration, chercher sur Internet ce qui s'est fait à propos de problèmes similaires.
    note: on peut chercher à votre place mais comme on ne peut pas tester sur votre machine, ça ne sert à rien.


    Citation Envoyé par dedalios Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # main.py
    from   fonction.mes_fonctions import fonc1, fonc2
    j obtient une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ModuleNotFoundError: No module named 'fonction'
    les définitions des fonctions sont dans mes_fonctions.py

    Le package est créer via éclipse
    Cette partie a été ajouté depuis peu... mais si cela devient un soucis côté Python, il faudrait lancer le programme depuis un terminal (et non depuis Eclipse) et vérifier que cela est "bien construit" au sens Python. Comme dans le cas précédent, on ne se déplace pas chez vous pour vérifier/tester/... et vous êtes supposé savoir un peu programmer .

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

  4. #4
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut
    j'ai retrouvé la méthode effectivement .


    on doit avoir dans chaque répertoire sur les fichiers __init__.py les notifications d'import a rendre visible pour les autres packages
    donc avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from   .mes_fonctions import *
    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from  fonction import import fonc1, fonc2

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par dedalios Voir le message
    on doit avoir dans...
    Le from fonction.mes_fonctions import fonc1, fonc2 du post initial devrait fonctionner lorsque exécuté par un script main.py dont le répertoire contient le sous répertoire fonction correspondant.
    Pas besoin d'__init__.py pour ça (dans les versions récentes).

    Après si on veut faire marcher un from fonction import fonc1, fonc2, vu l’arborescence, il faut passer par un __init__.py (on pourrait se contenter d'un fonction.py).

    Et si l'erreur ModuleNotFoundError: No module named 'fonction' a disparu c'est que la position relative des répertories a été modifiée (ou que le script principal n'était pas main.py).

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

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

Discussions similaires

  1. Executer un package python
    Par mou_tou dans le forum Général Python
    Réponses: 5
    Dernier message: 20/03/2019, 09h43
  2. [Article] Packaging Python et Utilisation de Pypi
    Par deusyss dans le forum Général Python
    Réponses: 2
    Dernier message: 07/10/2015, 12h39

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