당신은 __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 이상으로 작업하는 경우 [여기] (http://docs.python.org/2/tutorial/modules.html#intra-package-references)에 설명되어있는 것과 마찬가지로 명시 적 상대 가져 오기를 사용할 수도 있습니다. '에서. import MY_CONSTANT' – ThatAintWorking
이 답변은 정확하며 해결 방법이 아닌 직접 해결책을 제공합니다. 이것을 제공해 주셔서 감사 드리며 승인 된 대답이어야합니다. +1 – Hazok