ReadTheDocsを使用してドキュメントをコンパイルできるようにmatplotlibのモックを作成しようとしていますが、問題が発生しました。
私のコードでは、を使用してmatplotlibをインポートしfrom matplotlib.pyplot import *
ます。
私はモックに次のコードを使用しています(ReadTheDocs FAQで提案されています)。
class Mock(object):
def __init__(self, *args, **kwargs):
pass
def __call__(self, *args, **kwargs):
return Mock()
@classmethod
def __getattr__(cls, name):
if name in ('__file__', '__path__'):
return '/dev/null'
elif name[0] == name[0].upper():
return type(name, (), {})
else:
return Mock()
MOCK_MODULES = ['numpy', 'scipy', 'matplotlib', 'matplotlib.pyplot']
for mod_name in MOCK_MODULES:
sys.modules[mod_name] = Mock()
ただし、実行するfrom matplotlib.pyplot import *
と、次のようなエラーが発生しTypeError: 'type' object does not support indexing
ます。
from x import *
スタイルを使用してmatplotlibをインポートできるように、モックを変更する方法はありますか?利用できるようにするために特定の関数は必要ありません。ReadTheDocsがコードを正しくインポートできるように、インポートできるようにする必要があります。