ImportError:没有名为sip的模块(python2.7 PyQt4)

时间:2019-03-29 20:02:03

标签: python pyqt4 sip qtwebkit qtcore

我当前正在使用Ubuntu 18.04 LTS。

我正在尝试安装需要PyQt4和QtWebKit的程序,因此必须手动安装,因为PyQt4已排除了QtWebKit。

我下载了sip 4.19.12(PyQt4的4.19.14安装失败)和PyQt4 4.12.13

我运行了virtualenv,确保它能按预期运行,并尝试安装sip,该方法可以正常工作:

$ python configure.py
$ make
$ make install

然后我继续使用PyQt4,没有错误。

当我尝试运行程序.py时,出现以下错误:

$ python RNAEditor.py
Traceback (most recent call last):
File "RNAEditor.py", line 9, in <module>
from Helper import Helper, Parameters
File "/home/bioinfo/Documentos/Ferramentas_RNAEditor/RNAEDITOR_ch/Helper.py", line 13, in <module>
from PyQt4 import QtCore
ImportError: No module named sip

$ sudo python RNAEditor.py 
Traceback (most recent call last):
File "RNAEditor.py", line 9, in <module>
from Helper import Helper, Parameters
File "/home/bioinfo/Documentos/Ferramentas_RNAEditor/RNAEDITOR_ch/Helper.py", line 13, in <module>
from PyQt4 import QtCore
ImportError: No module named PyQt4

我确定我的虚拟环境确实具有sip和PyQt4,因为在virtualenv / python中同时导入这两个文件也没有错误。

$ python
>>> import PyQt4
>>> import sip
>>> from PyQt4 import QtCore
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named sip

关于如何通过手动安装设置PyQt4和饮或者为什么它无法按预期运行的任何想法?

2 个答案:

答案 0 :(得分:0)

我了解到它可以与特定的SIP和PyQt4版本一起使用并在virtualenv中运行。我不知道会发生什么,但似乎在Ubuntu 18.04中,最新版本的PyQt4和SIP发生了某些事情,它们无法按预期工作,但它们确实在Ubuntu 16.04(经测试)中工作。 在Ubuntu 18.04中工作的代码是:

PYQT4 4.12.1和sip 4.19.12

sudo apt-get install python-pip python2.7-dev libxext-dev python-qt4 qt4-dev-tools build-essential

pip install virtualenv


virtualenv PROJECTNAME
source PROJECTNAME/bin/activate


cd SIP_SOURCE_DIRECTORY
python configure.py
make
make install

cd PYQT4_SOURCE_DIRECTORY
python configure.py
make
make install

然后您就拥有了支持QtWebKit的virtualenv,这对于许多应用程序来说很重要

答案 1 :(得分:0)

从4.12.2版开始的PyQt需要称为pyqt4.sip的专用sip模块(请参阅PyQt 4源文件夹中的NEWS文件) 因此,您应该使用以下命令配置sip: python configure.py --sip-module PyQt4.sip 在构建sip之后,您应该将文件sip.pyd复制到PyQt4 python目录-默认情况下为c:\python27\Lib\site-packages\PyQt4