python readthedocs如何满足sip(或pyqt)的要求

use*_*144 5 python pip pyqt python-sip read-the-docs

我想在readthedocs.org中发布我的项目https://bitbucket.org/oaltun/opn的文档.

构建失败.日志https://readthedocs.org/builds/opn/2247789/中显示了不同的错误 ,但第一个是"没有名为sip的模块".

pyqt需要sip,这是项目所需要的.

通常在这种情况下,据我所知,你会在setup.py中添加缺少的包,并检查readthedocs.org选项以创建virtualenv.我选中这个框来创建一个virtualenv.但是我不能在setup.py中添加sip或pyqt.

问题是pyqt&sip不使用setuptools,因此无法通过pip安装.所以你不能将它们添加到setup.py(即使在我的本地机器上也会失败).

在我的本地环境中,我使用(ana)conda安装pyqt.但我认为readthedocs.org使用pip来调用依赖项.

那么,我怎么能让我的virtualenv包括sip?

hoj*_*oju 2

诀窍是模拟这些接口:

import mock 
MOCK_MODULES = ['sip', 'PyQt4', 'PyQt4.QtGui']
sys.modules.update((mod_name, mock.MagicMock()) for mod_name in MOCK_MODULES)
Run Code Online (Sandbox Code Playgroud)

请注意,您还必须模拟根包“PyQt4”,否则将收到 ImportError。