web-dev-qa-db-ja.com

兄弟フォルダーからPythonモジュールをインポートするには?

私は多くのPythonインポートに関する相対的な質問を行ってきましたが、問題を理解できない/機能するようにすることはできません。

私のディレクトリ構造は次のとおりです。

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

実行しようとすると:

python Driver.py

エラーが表示されます

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
34
Joshua

これは、ABがPythonに関する限り、独立した無関係なパッケージであるためです。

__init__.pyと同じディレクトリにDriver.pyを作成すると、すべてが期待どおりに動作するはずです。

20
David Wolever