微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PyQt5 – SIP API 10级错误 需要API 11

反馈

我正在PyQt5安装(基于Qt5.2.1 / SIP 4.15.5 API 11 ???)与PyQt5兼容(> = 3.3.2)的标准python3(3.3.2 +)解释器,因为它不是可能在Ubuntu 12.04上编译python3.3-5,然后无法安装PyQt5(python 3.3.2或更高版本)。

平台

jeby6372@mercure:~$ lsb_release -a No LSB modules are available. distributor ID: Ubuntu Description: Ubuntu 13.10 Release: 13.10 Codename: saucy jeby6372@mercure:~$ uname -a Linux mercure 3.11.0-13-generic #20-Ubuntu SMP Wed Oct 23 07:38:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

一切似乎在安装过程中工作正常,PyQt5导入工作,但是当我尝试一个模块导入通过python3解释器,这个错误引发:

从一台服务器导入MysqL数据库到另一台服务器

在Linux下将pyw文件导入为模块

在windows上导入.sql文件到postgresql

如何导入多个转储文件到Windows中的MysqL

Theano导入错误 – Windows 7-64b

>>> import PyQt5 >>> from PyQt5.QtCore import * Traceback (most recent call last): File "<stdin>",line 1,in <module> RuntimeError: the sip module implements API v10.0 to v10.1 but the PyQt5.QtCore module requires API v11.0

安装步骤:

Qt5.2.1与标准的X64 linux安装程序一起安装

SIP 4.15.5从源安装

从RiverBank程序中提到的源代码编译PyQt5,在compile.py选项中定位qmake程序:

python3 configure.py –qmake /opt/Qt/5.2.1/gcc_64/bin/qmake –sip / usr / bin / sip

包装位置:

Qt-5.2.1根目录: /opt/Qt/5.2.1/gcc_64

PyQt5根目录: /usr/lib/python3.3/site-packages

Sip版本

jeby6372@mercure:~$ which sip /usr/bin/sip jeby6372@mercure:~$ sip -V 4.15.5 jeby6372@mercure:~$

我的python环境variables是:

jeby6372@mercure:~$ echo $PYTHONPATH /usr/lib/python3.3/site-packages

$ PATH可变:

jeby6372@mercure:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/Qt/5.2.1/gcc_64/bin

$ LD_LIBRARY_PATH是空的(不要认为这很重要,但我更愿意提及它…)

网站pacakges目录的内容是:

jeby6372@mercure:~$ ls /usr/lib/python3.3/site-packages PyQt5 __init__.py QtCore.so QtDBus.so QtNetwork.so Qt.so QtXmlPatterns.so uic

但是在之前的安装中却有所不同。 不知道为什么! :

jeby6372@mercure:~$ ls /usr/lib/python3.3/site-packages/PyQt5 __init__.py QtDesigner.so QtNetwork.so QtQuick.so QtSvg.so QtXmlPatterns.so _QOpenGLFunctions_2_0.so QtGui.so QtOpenGL.so QtSensors.so QtTest.so uic QtBluetooth.so QtHelp.so QtPositioning.so QtSerialPort.so QtWebKit.so QtCore.so QtMultimedia.so QtPrintSupport.so Qt.so QtWidgets.so QtDBus.so QtMultimediawidgets.so QtQml.so Qtsql.so QtX11Extras.so

我不知道问题出在哪里,我对这个产品的工作越多,我就越不理解。 我在Ubuntu 13.10上进行这种安装,是因为PyQt5在Ubuntu 12.04上无法工作,因为Python 3.3-5编译错误。仍然没有答案。 …

请帮忙。

提前致谢。

SVN – 如何上传单个文件

在Linux上使用D编程语言的GLFW

如何将PDF转换为文本,以便我可以用PHPparsing文本?

我可以看到python sys.path中的目录,但是当我尝试导入库时出现错误

.so文件无效的精灵标头错误

你的问题来自发行版提供的sip和你可能从源代码编译的sip的冲突。

根据用户需求,调用import sip; print(sip,sip.SIP_VERSION_STR) 从python3解释器控制台中import sip; print(sip,sip.SIP_VERSION_STR) ,并将输出与从普通(bash)控制台调用sip -V获得的输出进行比较。 版本可能不同。

我通过识别系统中所有安装的与sip相关的软件包,克服了这个错误。 (对于类似Debian的系统: dpkg -l | grep sip ),删除它们及其所有配置文件(再次,对于Debian: apt-get purge python3-sip python3-sip-dev …)并重新安装自定义版本(通过再次运行make install )。

我顺便也对所有的PyQt5包做了同样的事情。 根据你的不完整的网站包列表,你也可能已经安装了一些旧的PyQt5发行包。 目前的有更多的模块。 (例如Qtsql

(所有提到的命令都应该以root身份执行。)

在这里张贴,因为还不能评论。 对于Windows中的这个问题,对于我来说,导入sip打印(sip,sip.SIP_VERSION_STR)显示的sip版本低于sip文件名中显示的版本。 我通过卸载并重新安装sip(pip卸载sip)来修复它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐