2

私がこの構造を持っていると想像してください:

dir/
   __init__.py
   dir1/
       __init__.py
       x.py
   dir2/
       __init__.py
       y.py

ここで、x.pyをy.pyにインポートします。PEP 328のy.pyで
これを試しましたが、このエラーが発生します。 時間を検索しましたが、この問題に対する答えが見つかりません。 私のような似たような問題はたくさんありますが、どれも私をこのように助けてくれません 。助けてください。 どうもありがとう 。from ..dir1.x import *Attempted relative import in non-package



4

2 に答える 2

0

ファイルが直接呼び出された場合、相対インポートは機能しません。

python y.py

__name__ == '__main__'彼らは彼らの完全なパッケージ名の代わりに持っているので。

相対インポートを機能yさせるには、パッケージとして使用する必要があります。

python -m dir.dir2.y
于 2013-01-18T20:32:12.977 に答える
0

y.py、このインポートコードを追加します

import sys
sys.path.insert(0, '..')

その後、

from dir1.x import *
于 2013-01-18T22:45:56.673 に答える