9

我正在尝试使用 ReadTheDocs 记录一个 Python 项目。最初,构建过程会在以下情况下终止:

from osgeo import gdal, osr

我已经阅读了rtd 常见问题解答,并为给我带来麻烦的 osgeo 模块使用了 mock。现在构建过程使它通过了导入,但阻塞了:

from osgeo.gdalconst import * 

有了这个相当无益的错误:

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

我对使用 mock 完全陌生,但我认为问题在于它osgeo是一个 mock 模块,因此没有 submodule gdalconst。我该如何解决?有没有办法模拟子模块?

4

1 回答 1

6

有点晚了......但我遇到了这个寻找解决方案(使用嵌套模块mock)。我已经像这样模拟了模块和子模块:

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

订单重要的地方。希望这可以帮助其他希望解决此问题的人。

于 2016-02-05T17:09:52.433 回答