我正在尝试使用 python 的 Sphinx 模块为 Qgis (pyqt) 插件(使用 Pyqt)构建文档。
尝试使用make html
构建时,
我得到了一些模块的几个异常(exception):
ValueError: API 'QDate' has already been set to version 1
这是完整的堆栈
home/user/path/project.rst:105: WARNING: autodoc: failed to import module u'new_project_base'; the following exception was raised:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/sphinx/ext/autodoc.py", line 551, in import_object
__import__(self.modname)
File "/home/rescue/bathydeconfliction/new_project_base.py", line 14, in <module>
from qgis.core import QgsProject
File "/usr/lib/python2.7/dist-packages/qgis/__init__.py", line 26, in <module>
from qgis.PyQt import QtCore
File "/usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py", line 28, in <module>
sip.setapi(api, 2)
ValueError: API 'QDate' has already been set to version 1
我做错了什么? (在 Debian Jessie 上使用 python 2.7、sphinx 1.5.2)
最佳答案
在导入 PyQt4 之前导入 qgis.core 已经为我修复了它
import qgis.core
from PyQt4 import QtCore, QtGui, uic
qgis 不是 pyqt 的一部分,但当您尝试在同一代码中将 qgis API 与 PyQt 一起使用时会发生错误。我相信,原因是 qgis 定义 QDate
与 PyQt4 中的 QDate
冲突
关于python - 狮身人面像 Qt ValueError : API 'QDate' has already been set to version 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42444150/