我想在readthedocs.org中发布我的项目https://bitbucket.org/oaltun/opn的文档。
构建失败。日志https://readthedocs.org/builds/opn/2247789/中显示了不同的错误,但第一个是“没有名为sip的模块”。
pyqt需要sip,这是项目所需要的。通常在这种情况下,据我所知,你会在你的setup.py中添加缺少的包,并检查readthedocs.org选项以创建virtualenv。我选中这个框来创建一个virtualenv。但我不能将sip或pyqt添加到setup.py。
问题是pyqt& sip不使用setuptools,因此无法通过pip安装。因此,您无法将它们添加到setup.py(即使在我的本地计算机上也会失败)。
在我的本地环境中,我使用(ana)conda安装pyqt。但我认为readthedocs.org使用pip来调用依赖项。
那么,我怎么能让我的virtualenv包括sip?
答案 0 :(得分:2)
诀窍是模拟这些接口:
import mock
MOCK_MODULES = ['sip', 'PyQt4', 'PyQt4.QtGui']
sys.modules.update((mod_name, mock.MagicMock()) for mod_name in MOCK_MODULES)
请注意,您还必须模拟根包' PyQt4'或者会得到一个ImportError。