当前位置:编程学习 > 网站相关 >>

paip. sip module implements API v10.0 to v10.1 but the PyQt4.QtCore module requires API v9.2

paip.RuntimeError: the sip module implements API v10.0 to v10.1 but the PyQt4.QtCore
module requires API v9.2
 
 
作者Attilax ,  EMAIL:1466519819@qq.com 
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
 
 
 
 
现象:
运行eric5-5.3.7.zip      \ D:\eric5-5.3.7\eric\eric5.py
 
 
 
 
环境:
Python Version: 3.3.2
 
 
 
 
原因:  eric5需要PyQt4..以及PyQt4需要sip v9.2  ...但是python加载的sip版本是10.1
查看python加载的sip
\Lib\site-packages\sip.pyd     好像是最新的pyqt5带的.
 
 
 
 
解决:
因为我的项目用到的是QT5。。但是由于 eric5需要PyQt4。 
只好另外copy  D:/Python33到D:/Python334eric
下载PyQt4-4.10.3-gpl-Py3.3-Qt4.8.5-x32.exe.安装到D:/Python334eric
会自动重写 D:/Python334eric/\Lib\site-packages\sip.pyd 
 
 
////运行
D:\Python334eric\Python.exe   D:\eric5-5.3.7\eric\eric5.pyw
 
 
/////sip是什么
SIP是一个自动为C和C++库生成Python扩展模块的工具。为了方便开发PyQt,SIP于1998被“Riverbank Computing”公司创造出来。不过,SIP不专用于PyQt,而是适用于所有的C和C++库。
使用SIP时,程序员首先要编写一个特殊的".sip"文件,使用类似于C++的语法在其中描述扩展模块所提供的类型与函数。然后用SIP将这个文件转化为C++代码。最终编译,与C、C++库链接后就成为Python扩展模块。".sip"文件类似于C、C++的头文件。根据需要,需要程序员用SIP定义的语法添加一些C++代码中没有的信息。因为SIP不支持完整的C++语法,所以不能直接使用C++的头文件作为".sip"文件。
 
 
sip.exe位置:D:\Python33\Lib\site-packages\PyQt5\sip.exe 
D:\Python33\Lib\site-packages\PyQt5\sip\下面是sip设置文件..例子:
D:\Python33\Lib\site-packages\PyQt5\sip\PyQt5\QtCore\qfile.sip
 
 
查看 当前sip版本. 
 D:/Python334eric/\Lib\site-packages\sip.pyd 
在找到
D:\Python33\Lib\site-packages\PyQt5\include\sip.h
line71--209     表明版本号是 10.1
 
 
 
 
---ImportError: No module named 'sip'
新不上D:\Python334eric\Lib\site-packages\sip.pyd  实际是个dll文件
 
 
---Failed to load platform plugin "windows". Available platforms are:
D:\Python334eric\Lib\site-packages\pyqt4 版本不对.
 
 
补充:Web开发 , Python ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,