2015-09-15 20 views
8

私はReadTheDocsでPythonプロジェクトを文書化しようとしています。それはに着いたとき最初に、ビルドプロセスが死ぬ:ReadTheDocsのサブモジュール付きモック

from osgeo import gdal, osr 

私はrtd faqを読んで、私に迷惑を与えていたOSGEOモジュール用のモックを使用しました。今、ビルドプロセスは、その輸入を通過できますが上のチョーク:私はモック使用を完全に新しいですが、私は問題はosgeoがあることだと思います

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

:このかなり助けにならないエラーで

from osgeo.gdalconst import * 

模擬モジュールなので、サブモジュールはありませんgdalconst。それをどうやって回避するのですか?サブモジュールも模擬する方法はありますか?

答えて

6

少し遅れましたが、これを解決するために(mockでネストされたモジュールを使用して)解決策を探しました。私はこのようなモジュールとサブモジュールを嘲笑しました:

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

ここでの順序は重要です。これを解決するために他の誰かを助けることを願っています。