我们的Travis CI测试刚开始随机打破:
https://travis-ci.org/Gallopsled/pwntools/builds/343962397
显示错误消息:
Could not import extension sphinxcontrib.autoprogram (exception: No module named compat)
问题似乎是我们的Sphinx依赖项之一依赖于已弃用的功能:https://github.com/sphinx-contrib/autoprogram/issues/1
我该如何解决这个问题?
答案 0 :(得分:2)
我们可以通过将模块及其内容放入Sphinx conf.py
中来动态重新注入模块及其内容:
try:
import sphinx.util.compat
except ImportError:
import sys
import types
import sphinx.util
import docutils.parsers.rst
class compat(types.ModuleType):
Directive = docutils.parsers.rst.Directive
sphinx.util.compat = compat('sphinx.util.compat')
sys.modules['sphinx.util.compat'] = sphinx.util.compat