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 :

importer module perso avec python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 27
    Par défaut importer module perso avec python
    Bonjour à tous,

    je cherche à importer avec Python une classe que j'ai crée mais celle-ci ne se trouve pas dans le répertoire Cython26...
    Comment préciser à python le chemin dans lequel il doit importer le module ?
    Est ce que je dois passer par les variables environnement?
    Est que la classe doit avoir une ligne __init__?

    En fait j'aimerai appeler le module depuis plusieurs chemin et donc j'aimerai le placer dans le répertoire parent. Au moment de l'import dans les répertoires fils il faudrait juste remonter d'un cran
    Merci de votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12
    Par défaut
    Citation Envoyé par rom44 Voir le message
    Bonjour à tous,

    je cherche à importer avec Python une classe que j'ai crée mais celle-ci ne se trouve pas dans le répertoire Cython26...
    Comment préciser à python le chemin dans lequel il doit importer le module ?
    Est ce que je dois passer par les variables environnement?
    Est que la classe doit avoir une ligne __init__?

    En fait j'aimerai appeler le module depuis plusieurs chemin et donc j'aimerai le placer dans le répertoire parent. Au moment de l'import dans les répertoires fils il faudrait juste remonter d'un cran
    Merci de votre aide
    Il y a plusieurs solutions à ce problème.
    Le plus rapide et le plus simple serait de renseigner une variable d'environnement PYTHONPATH en y mettant le répertoire de ton module
    sinon tu peux aussi renseigner dans le code python la variable sys.path avant de faire l'import
    Pour les imports de module avec des répertoire relatif, cf le doc officielle sur le site python http://docs.python.org/tutorial/modules.html

  3. #3
    Membre averti
    Inscrit en
    Août 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 27
    Par défaut
    Merci Makiavelik pour cette réponse si rapide !

    J'ai utilisé le sys.path et ça fonctionne : merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import sys
    path = "je_detecte_le_chemin_ou_j'ai_mis_la_classe"
    sys.path.append(path)
    import maclasse
    Bonne journée

  4. #4
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    En fait, tu veux développer tes propres "packages" , que l'on pourrait inclure par import package_name, un peu comme comme on importe 'os', 'tkinter' ou 'sys'. L'idéal serait de faire comme eux, c'est à dire de mettre un dossier contenant ton package (ou module si tu préfères) dans le répertoire de python dédié pour ça. ce post devrait t'aider.

    Utiliser le path de ton module comme tu veux le faire, c'est un classique à éviter, car si tu passes un de tes projets à un autre développeur, il faut qu'il ait la même arborescence que toi sur son disque.

    A+

    Pfeuh

  5. #5
    Membre averti
    Inscrit en
    Août 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 27
    Par défaut
    Citation Envoyé par pfeuh Voir le message
    Utiliser le path de ton module comme tu veux le faire, c'est un classique à éviter, car si tu passes un de tes projets à un autre développeur, il faut qu'il ait la même arborescence que toi sur son disque
    bonjour pfeuh,

    En fait je n'ai pas mis en dur le chemin, c'est pour ça que j'ai écris "je détecte le chemin...". Effectivement je voulais éviter que le lien ne soit valable que sur mon pc.

    A+

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

Discussions similaires

  1. Présence d'import dans un fichier d'import "Module" perso
    Par cyberclown dans le forum Général Python
    Réponses: 2
    Dernier message: 15/07/2012, 14h39
  2. Traitement d'image avec Python sans modules
    Par kevgen dans le forum Général Python
    Réponses: 4
    Dernier message: 23/11/2010, 00h02
  3. Réponses: 12
    Dernier message: 14/10/2010, 15h11
  4. Probleme avec l'installation du module SOAPpy sous Python 2.5
    Par soufian2290 dans le forum Déploiement/Installation
    Réponses: 4
    Dernier message: 14/10/2008, 12h49
  5. module tarfile avec python 2.2
    Par jhonnyBravo dans le forum Général Python
    Réponses: 4
    Dernier message: 14/05/2007, 13h01

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