Представьте себе следующий сценарий: у вас есть пакет Python с именем «foo», который зависит от «bar». Сам пакет 'bar' зависит от другого пакета Python, скажем, shapely, который зависит от библиотеки C, которая не может быть установлен на readthedocs.io. Таким образом, «бар» изящно издевается над
class Mock(MagicMock):
@classmethod
def __getattr__(cls, name):
return MagicMock()
MOCK_MODULES = ['shapely', 'shapely.wkt', 'shapely.wkb', 'shapely.geometry', 'shapely.ops']
sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES)
в файле conf.py.
Теперь я хотел бы просто издеваться над зависимостью от «bar», но все же установить «bar» на RTD, чтобы позволить правильно построить документы «foo». Как я могу сказать readthedocs.io, чтобы он красиво смоделировал зависимость «bar»?