필자는 구현이 두 개의 내부 서브 모듈로 분할 된 (유지 관리를 위해) 파이썬 패키지를 가지고 있습니다.__init__.py에서 import *를 사용하여 docstrings을 패키지 범위로 가져 오는 방법은 무엇입니까?
# filesystem layout:
mypkg/
__init__.py
subA.py # defines class A
subB.py # defines class B
이 의도 한대로 작동
# __init__.py
from .subA import *
from .subB import *
을 : import *
로 가져 패키지의 __init__.py
모두 서브 모듈의 있도록 다음과 같이보기의 사용자 관점에서 패키지는,하지만 하나 개의 단위로 표시한다 보기의 패키지 기능의 관점에서 :
>>> import mypkg
>>> a = mypkg.A() # works
>>> b = mypkg.B() # works
그리고 만약
직접 이러한 클래스에 대한 인라인 도움말을, 모든 것이 찾는 또한 좋다 :>>> help(mypkg.A) # works
>>> help(mypkg.subA.A) # also works
문제는 내가 최상위 패키지에 대한 도움말을 찾으면, cf.
>>> help(mypkg)
는 서브 모듈에서 클래스와 함수는 (그들로부터 변수는 DATA
섹션에 나타 않지만) 전혀 나타나지 "자발적으로"않습니다. 이 예상/올바른 동작이며 사용자가 구현/유지 관리 편의를 위해서만 존재하는 서브 모듈에 대해 알 필요가 없도록이를 우회 할 수있는 방법이 있습니까?
나를위한 작품 : 감사합니다! 새로운 기능이나 클래스가 서브 모듈에 추가되었을 때이 목록을 업데이트해야한다는 것은 분명하지 않기 때문에 정확하지는 않지만 약간은 색다른 것입니다.하지만 적어도 작동합니다 :) – andybuckley