Можно ли использовать sphinx's .. automodule :: и другие автоматические функции для документирования модулей, которые содержат операторы from x import *
, не включая всю документацию из импортированных модулей?
EDIT:
Согласно пункту mzjn, поскольку атрибут __module__
импортированных методов не совпадает с именем модуля, они не должны документироваться. Однако для некоторых из моих модулей они есть.
мой MLE - это просто файл test_doc.py
со следующей строкой:
from pylab import *
и документация:
.. automodule:: agpy.test_doc
:members:
Если я включу эту строку в test_doc.py
:
print "beta.__module__:",beta.__module__
Я получаю ожидаемый результат:
beta.__module__: None
Есть идеи, что происходит? Мог ли я что-то напортачить в conf.py
?
EDIT: обходной путь, согласно ответу mzjn, для изменения атрибута __module__
тех функций, которые имеют __module__==None
:
import pylab
from pylab import *
for k,v in pylab.__dict__.iteritems():
if hasattr(v,'__module__'):
if v.__module__ is None:
locals()[k].__module__ = 'pylab'