web-dev-qa-db-fra.com

Comment importer un module Python à partir d'un dossier frère?

J'ai traversé de nombreuses Python questions relatives à l'importation mais je ne peux pas comprendre le problème/le faire fonctionner.

Ma structure de répertoire est:

Driver.py

A/
      Account.py
      __init__.py

B/
      Test.py
      __init__.py

Driver.py

from B import Test

Account.py

class Account:
def __init__(self):
    self.money = 0

Test.py

from ..A import Account

Quand j'essaye de courir:

python Driver.py

Je reçois l'erreur

Traceback (most recent call last):

from B import Test

File "B/Test.py", line 1, in <module> from ..A import Account

ValueError: Attempted relative import beyond toplevel package
38
Joshua

Cela se produit car A et B sont des packages indépendants et non liés en ce qui concerne Python est concerné.

Créer un __init__.py dans le même répertoire que Driver.py et tout devrait fonctionner comme prévu.

22
David Wolever