2017-09-27 13 views
0

私はPythonには新しく、パッケージとインポートに関するいくつかの問題があります。兄弟ディレクトリにあるpythonパッケージからインポートするには?

次のように私の構造は次のとおりです。

src/ 
    base/ 
     packcore/ 
      __init__.py 
      utils/ 
       __init__.py 
       util_1.py 
       util_2.py 
      helpers/ 
       __init__.py 
       helper_1.py 
       helper_2.py 
    some_script.py 
    app.py 

packcorepipを使用してインストールして--target=baseに置かれている外部のパッケージです。

packcorehelpersの一部は、utilsの一部を使用しています。

投稿者app.pyhelper/utilをインポートしたいと思います。

しかし、私はfrom base.packcore.utils import some_utilを使用するとき、私は何のモジュールがhelper/util

内部からpackcore命名ないと私はfrom packcore.utils import some_utilを行う場合、私は何のモジュールが

ヘルプfrom the app.py`のpackcoreという名前のないエラーが出るというエラーを取得します大いに感謝されるでしょう:)

答えて

0

base/__init__.pyを追加すると、それをインポートするPythonパッケージにすることができます。また、親パッケージ(現在はsrcと呼ばれています)を作成する必要があります。そのため、多くの独立したモジュールではなく、実際には兄弟モジュールです。

そこから、あなたがメインパッケージから絶対インポートを行うことができ、次のいずれか

from src.base.packcore.helpers import helper_1 

または相対(あなたがsome_script.pyまたはapp.pyであると仮定):

from .base.packcore.helpers import helper_1 
関連する問題