python - 狮身人面像 Qt ValueError : API 'QDate' has already been set to version 1

标签 python qt pyqt python-sphinx

我正在尝试使用 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/

相关文章:

visual-studio - 如何在Visual Studio 2015项目中使用Qt?

python - 寻找与 python 2.7、MySQL 和 mac OS 兼容的 PyQT5

python - 使用 PyQt 抓取网页图像

Python请求: Post Images on Facebook using Multipart/form-data

Python GI Notify 如何调用 Gtk.main()?

c++ - 如何使用 Qt QGraphicsitem 设计轴

python - 自定义 QStyledItemDelegate : adding bold items

python - 从类访问 SQLalchemy

Python sqlparse 没有正确地为每一列创建新行

c++ - QT_NO_CONTEXTMENU 何时定义?