2016-08-30 15 views
1

私は例えば、かなり深くネストされているPythonモジュールのライブラリを開発しています:Pythonであらかじめ定義されたモジュールエイリアス?

\MyTools 
    __init__.py 
    \HydroTools 
     __init__.py 
     \bin 
     \Code 
      __init__.py 
      hydro.py 
    \TerraTools 
     __init__.py 
     \bin 
     \Code 
      __init__.py 
      terra.py 

は、事前にモジュールの別名を定義するためにいくつかの方法がある(多分INITの.pyを変更することでは?) 、代わりに...

from MyTools.HydroTools.Code import hydro 
from MyTools.TerraTools.Code import terra 

インポートする...私のようなクリーンな何かができるように

from MyTools import hydro, terra 
+2

あなたはpy' __ '' MyTools' __initに 'hydro'と' terra'をインポートする場合、あなたが望むように、彼らはその後、MyTools' 'からインポートすることができます。 – FamousJameous

+1

はい、トップレベルの '__init __。py'では、あなたが使用している正確なインポートを始めにドットを付けて追加します:' .MyTools.HydroTools.Code import hydro'から、トップレベルパッケージから利用できます。 –

答えて

3

これらのネストされたパッケージをモジュールのネームスペースの上にプッシュしたい。 MyTools/__init__.pyアドオンで

:。

from .HydroTools.Code import hydro 
from .TerraTools.Code import terra 
関連する問題