CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Import en Python

Conchoide
Conchoide
Niveau 7
30 novembre 2014 à 19:05:04

Salut, voilà j'ai un problème que je n'arrive pas à résoudre malgré toutes les lectures de la doc officielle et de problèmes similaire sur stackoverflow...

J'ai une "librairie" qui est comme telle:
~/programmation/
---malibrairie/
------__init__.py
------/a
---------__init__.py
---------blabla.py
------/b
---------__init__.py
---------blublu.py

Notons que blublu.py commence par la ligne:

from a.blabla import quelque_chose

Bien, maintenant, si je crée un nouveau fichier et que je le place dans le répertoire "malibrairie", le code suivant marche:

from b.blublu import un_truc

À présent, si je crée un fichier dans le répertoire "programmation", le code suivant ne marche PAS:

from malibrairie import b

L'erreur est vient de l'import au sein de blublu.py, et elle est la suivante : ImportError : No module named a.blabla

Quelle est la manière correcte de régler ce problème ?

Merci

Ti-samu
Ti-samu
Niveau 10
30 novembre 2014 à 23:46:27

L'organisation de tes fichier est curieuse, tu veux importer une fonction d'un fichier via un autre fichier ? :doute:

tu veux prendre la fonction du a en l'important dans le b, puis en l'important donc de b dans le fichier où tu en a besoin.. :(

Et ça déconne car t'as un répertoire de recule par rapport à ta précédente tentative. :(

Si tu fait import malibrairie.b ça devrait (j'ai un doute) marcher.
Ou alors from malibrairie.b import blublu.py, là ça devrait marcher. :(

Enfin j'pense, ça fait longtemps que j'ai pas touché à Python :doute:

Après doit y'avoir moyen de le faire avec os.path aussi. :noel:

Conchoide
Conchoide
Niveau 7
02 décembre 2014 à 23:39:32

Bon, simplifions le problème.

Si mes fichiers sont organisés comme suit:
http://pastebin.com/rQKYvp6f

alors normalement, (et d'après cette source : https://docs.python.org/2/tutorial/modules.html) je devrais pouvoir faire:

import sound.effects.echo

Or, je ne peux pas. Je peux faire import sound. Mais ensuite, c'est comme si sound était vide et n'avait aucun module. si je fais import sound.effects il me dit : no module named sound.effects. Pourtant, si je fais import sound, je le répète, ca marche...

Je suis désespéré!!

Conchoide
Conchoide
Niveau 7
02 décembre 2014 à 23:40:53

Précision quant à mon dernier post:

le fichier .py au sein duquel je fais "import sound.effects.echo" est dans le dossier parent du dossier sound, et non-pas dans sound.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment