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 ,