Linux PyQt5错误“;PyCapsule“调用的GetPointer名称不正确”;

Linux PyQt5错误“;PyCapsule“调用的GetPointer名称不正确”;,linux,python-3.x,pyqt5,python-sip,Linux,Python 3.x,Pyqt5,Python Sip,我刚刚在OpenSUSE leap上使用Python3.6.3在pyenv virtualenv中构建了PyQt5,构建过程很顺利,但是当我导入 >>> from PyQt5 import QtCore Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: PyCapsule_GetPointer called with incorrect

我刚刚在OpenSUSE leap上使用Python3.6.3在pyenv virtualenv中构建了PyQt5,构建过程很顺利,但是当我导入

>>> from PyQt5 import QtCore
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: PyCapsule_GetPointer called with incorrect name

如中所述,您的应用程序是否同时导入PyQt4和PyQT5

我看到windows上的第一个错误是:

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Executable: D:\Python37\python.exe
>>> from PyQt5 import QtWidgets
>>> from PyQt4 import QtGui, QtCore
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: PyCapsule_GetPointer called with incorrect name
win32上的Python 3.7.0(v3.7.0:1bf9cc5093,2018年6月27日,04:59:51)[MSC v.1914 64位(AMD64)] 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 可执行文件:D:\Python37\python.exe >>>从PyQt5导入QtWidgets >>>从PyQt4导入QtGui、QtCore 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 ValueError:调用PyCapsule_GetPointer时名称不正确
好的,实际上这很容易,正如文档(,)中所述,SIP必须配置有
--SIP模块
选项,因此对于PyQt5,我做了:

python configure.py --sip-module PyQt5.sip --no-tools
对于PyQt4:

python configure.py --sip-module PyQt4.sip --no-tools
这适用于PyQt>=4.12.2和PyQt>=5.11

编辑:
PyQt5现在有所谓的PyQt生成器,请参见

我将PyQt5降级为5.7.1,它对我有效。

因此,对于我来说,在尝试使用pyuic5时发生了此错误


在我的情况下,我只需要激活我的虚拟_环境,然后它就可以工作了

对于子孙后代,我在PyQt5应用程序中有一段时间出现了这个错误,因为我使用了两个自定义库(libArcus和libSavitar),它们也使用SIP编译Python绑定。通过确保在PyQt5之前首先导入我的自定义库(使用较新的SIP版本),最终解决了这一问题:


这起作用了。然而,当通过PyCharm的调试器运行应用程序时,我仍然得到相同的错误。今天,我发现PyCharm有一个选项,可以“启用PyQt5与特定PyQt5版本的兼容性”。在“设置->调试器->PyQt兼容”下禁用此选项修复了此问题。

不幸的是,情况并非如此,我面临着类似的问题。你能再解释一下你的解决方案吗?这个configure.py文件是什么?调用
configure.py
是的一部分,仅当您自己构建PyQt时才适用。我有同样的问题,但建议的配置会引发以下错误:
python:无法打开文件'configure.py':[Errno 2]没有这样的文件或目录
。基于对最后一部分的建议,我尝试使用
pip install更新pip setuptools——升级setuptools
,但没有帮助。Hm我是通过pip3安装的:pip3 install PyQt5 sip pip3 install PyQt5->我现在可以如何配置?到PyQt5文档的链接断开我一直想知道该选项的作用,激活或停用它有时可以修复问题。
python configure.py --sip-module PyQt5.sip --no-tools
python configure.py --sip-module PyQt4.sip --no-tools