あなたが__init__.py
でそれらを置くことができるようになります。これを達成するための最良の方法はどこでもあなたがそれを必要とし、「設定」モジュールであなたの定数を定義し、それをインポートすることです。これはいつも行われています。
mypackage/__init__.py
:
MY_CONSTANT = 42
mypackage/mymodule.py
:
その後
from mypackage import MY_CONSTANT
print "my constant is", MY_CONSTANT
、インポートのmymodule:まだ
>>> from mypackage import mymodule
my constant is 42
、あなたは一定の持っているならば(constants.py、config.py、...)をモジュールに入れて、パッケージの名前空間に入れたい場合は、それらをインポートするのが合理的です(ベストプラクティス、おそらく)。
mypackage/__init__.py
:
from mypackage.constants import *
それでも、これは自動的にパッケージモジュールの名前空間に定数が含まれていません。パッケージ内の各モジュールは、mypackage
またはmypackage.constants
から明示的に定数をインポートする必要があります。
ええ、あなたはそれらをインポートする必要があります。 –
これは受け入れられた回答だったはずです。 Python 2.5以降で作業している場合は、[here](http://docs.python.org/2/tutorial/modules.html#intra-package-references)で説明されているだけでなく、明示的な相対インポートも使用できます。 'から。 import MY_CONSTANT' – ThatAintWorking
この回答は正しいものであり、回避策ではなく直接的な解決策を示しています。これを提供してくれてありがとう、それは受け入れられた答えでなければなりません。 +1 – Hazok