+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Discussion: Ecriture de package

  1. #1
    Membre du Club
    Homme Profil pro
    Chercheur en écologie
    Inscrit en
    février 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Chercheur en écologie

    Informations forums :
    Inscription : février 2011
    Messages : 43
    Points : 54
    Points
    54

    Par défaut Ecriture de package

    Bonjour à tous,

    je suis entrain d'écrire un package python pour faire des analyses sur les réseaux trophiques, et vu que (i) il y a pas mal de fonctions impliquées et (ii) il sera associé à un papier dans lequel je l'utilise, je voudrais organiser ça de manière propre – donc sous forme de packages.

    En gros, quand j'ai tout dans un fichier bipy.py, et que je fais from bipy import * au début de mes scripts, ça marche.

    Ce que j'ai voulu faire, c'est séparer sous forme de plusieurs répertoires, ce qui en gros aurait cette forme :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    bipy
        nes
            nodf.py
            Ncal.py
        spe
            specificity.py
            generality.py
            vulnerability.py
        nul
            nullC.py
            null1.py
            null2.py
    Chaque sous-répertoire regroupe les fonctions qui traitent du même sujet, et chaque fichier .py correspond a un petit groupe de fonctions.

    J'ai lu à peu près tout ce que j'ai pu trouver sur l'organisation des packages, mais impossible de le faire marcher. En gros, j'ai deux questions:

    1. quels fichiers je dois mettre dans quels répertoires/sous-repértoires pour que quand je tape import bipy ça me rende mes fonctions dispo ?
    2. a quel endroit je dois spécificier que je veux charger les packages numpy et scipy ?


    toute aide serait bien utile, merci!

  2. #2
    Expert Confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    juin 2006
    Messages
    2 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2006
    Messages : 2 720
    Points : 3 953
    Points
    3 953

    Par défaut

    Bonjour,

    Connaissez vous __all__ ?
    Soit votre structure
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    bipy/
        __init__.py #1
        nes/
            __init__.py # 2
            nodf.py
            Ncal.py
        spe/
            __init__.py
            specificity.py
            generality.py
            vulnerability.py
        nul/
            __init__.py
            nullC.py
            null1.py
            null2.py
    Vous pouvez faire vos imports dans 1 et y mettre __all__ = ["nes", "spe", "nul"]
    De même pour l'__init__.py de nes (2) __all__ = ["nodf", "Ncal"]

    @+
    Merci d'utiliser le forum pour les questions techniques.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •