4

私は、コアとコアを使用する複数の独立したモジュールで構成される Python アプリケーションに取り組んでいます。パッケージの相対インポートの設定に問題があります。

app
  |- __init__.py
  |- core
        |- __init__.py
        |- corefile.py

  |- module1
        |- __init__.py
        |- main.py

__init__.pyファイルは空です。Python 2.7.1 を実行しています。

main.py
from .core import *

実行python main.py結果はValueError: Attempted relative import in non-package.

同様の質問: Python の相対インポートに対する究極の回答、Python で相対インポートを行う方法は? Python での相対インポート

助けてくれてありがとう。

4

2 に答える 2

2

つまり、それ自体がインポートされたパッケージからの相対インポートのみを使用できます。

たとえば、次の場合:

$ cat run.py
from app.module1 import main
main.main()
$ python run.py

次に、で相対インポートを使用できます(ただし、は の 1 レベル上にあるため、 であるapp/module1/main.py必要があります)。from ..core import foocore/main.py

于 2012-04-07T23:07:10.593 に答える