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 :

Git submodule et imports


Sujet :

Python

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Par défaut Git submodule et imports
    Bonjour,

    On m'a proposé de réaliser un POC avec trois repo différents.
    - CampagneDeTest
    - TestCases
    - Outils

    Il y a des imports dans tous les sens depuis et vers ses repo.

    L'idée est de passer en submodules.

    J'ai mis dans "CampagneDeTest" un submodule "TestCases" et dans ce dernier un submodule "Outils".

    CampagneDeTest
    |
    |----TestCases
    |
    |----Outils

    Déjà, est-ce que cette structure vous parait correcte ?

    De CampagneDeTest, j'ai tapé cette commande : git submodule update --init --recursive

    Mais voilà, je peine beaucoup à gérer les imports.

    Pour exemple depuis un fichier présent dans "Outils" :
    • from CampagneDeTest.blabla --> ModuleNotFoundError: No module named 'CampagneDeTest'
    • ..blabla --> ImportError: attempted relative import with no known parent package


    J'ai trouvé plusieurs tentatives de résolutions sur le Net mais elle me donne l'impression de petites usines à gaz.
    Rien de simple et élégant pour gérer les imports ? M'y suis mal pris ?

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    Bonjour,

    Ce n'est pas un problème inhérent à Python, mais plutôt à la manière dont le projet est structuré et comment les modules sont importés. La complexité vient de la gestion des submodules Git et de la configuration des chemins d'import dans un environnement de projet multi-répertoires.

    Assurez-vous que chaque répertoire de votre projet est structuré correctement avec des fichiers __init__.py pour définir des packages Python.

    Vous n'êtes sans doute pas dans le bon forum pour répondre précisément à cette question.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Par défaut
    Hello Fred, je comprends bien mais je n'ai pas vu de forum Git sur ce site...

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Salut,

    Citation Envoyé par Michelk12 Voir le message
    M'y suis mal pris ?
    Ces messages d'erreurs sont relativement faciles à comprendre si on a pris la peine de voir comment fonctionnent les import.
    Comme ce n'est pas "intuitif", il faut passer du temps dans les tutos et essayer pour voir ce qu'on a compris.

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

  5. #5
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 322
    Par défaut
    bonjour

    Quel est le but d'utiliser des submodules git ??? Tu as bien compris que cela complique (énormément) les choses et n'a aucun rapport avec python !
    Puisqu'il existe une notion de "packaging" en python, nous ne devrions pas en avoir besoin avec ce langage.
    Et pour un POC ! ? quel peut-être l'intérêt puisque normalement tout est à jeter par la suite. Un seul dépôt git poubelle est bien suffisant.

    Tu nous donnes un submodules "outils" qui est inclus dans XXX MAIS qui utilise XXX
    Puisque nous n'avons aucune idée du projet, il n'est pas possible de te répondre, simplement dire qu'il ne parait pas logique (logique python) d'avoir XX en dépendance dans outils

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Salut,

    Citation Envoyé par papajoker Voir le message
    Quel est le but d'utiliser des submodules git ??? Tu as bien compris que cela complique (énormément) les choses et n'a aucun rapport avec python !
    La documentation de git submodules donne des cas d'utilisation intéressants et apporte de la flexibilité dans la gestion des dépendances.
    Ceci dit, pour exécuter le code Python (et avoir les erreurs d'import) il faut cloner le GIT. Ce qui produit une arborescence sur les fichiers locaux "image" du repository et des implications lorsqu'on utilise des submodules.

    Mais sans maîtriser les imports python, y ajouter des submodules ne facilitera pas la compréhension de la cause des messages d'erreurs...

    Citation Envoyé par papajoker Voir le message
    Et pour un POC ! ? quel peut-être l'intérêt puisque normalement tout est à jeter par la suite. Un seul dépôt git poubelle est bien suffisant.
    Peut être que le sujet du POC est justement de voir l'intérêt des submodule pour un projet python particulier....

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

Discussions similaires

  1. Versionning git submodule
    Par houss13014 dans le forum GIT
    Réponses: 0
    Dernier message: 01/02/2023, 10h46
  2. Angular git submodule CI
    Par totot dans le forum Angular
    Réponses: 0
    Dernier message: 17/10/2020, 11h46
  3. Réponses: 1
    Dernier message: 09/01/2015, 01h05
  4. [make] Compiler proprement un submodule git
    Par Celelibi dans le forum Systèmes de compilation
    Réponses: 0
    Dernier message: 16/02/2014, 19h50
  5. Probleme Importer derniere version avec GIT
    Par jacque99 dans le forum GIT
    Réponses: 1
    Dernier message: 17/12/2012, 19h47

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