2015-09-15 5 views
8

Я пытаюсь документировать проект Python с помощью ReadTheDocs. Первоначально процесс сборки будет умирать, когда он попал:Mock с подмодулями для ReadTheDocs

from osgeo import gdal, osr 

Я прочитал rtd faq и использовал макет для модуля OSGeo, который дает мне неприятность. Теперь процесс сборки делает это в прошлом, что импорт, но давится:

from osgeo.gdalconst import * 

С этим довольно бесполезной ошибкой:

RuntimeError: sys.path must be a list of directory names 

Я абсолютно новым для использования издеваться, но я думаю, что проблема в том, что osgeo является макет модуля и, следовательно, не имеет подмодуля gdalconst. Как мне обойти это? Есть ли способ издеваться над подмодулем?

ответ

6

Немного поздно ... но я столкнулся с этим в поисках решения (используя вложенные модули с mock). Я издевался над модулем и подмодулями следующим образом:

MOCK_MODULES = ['dbs', 'dbs.apis', 'dbs.apis.dbsClient'] 
sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES) 

где заказ имел значение. Надеюсь, это поможет любому, кто хочет решить эту проблему.

Смежные вопросы