【问题标题】:ImportError: No module named sip (python2.7 PyQt4)ImportError:没有名为 sip 的模块(python2.7 PyQt4)
【发布时间】:2019-08-20 19:51:34
【问题描述】:

我目前使用的是 Ubuntu 18.04 LTS。

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

我下载了 sip 4.19.12(4.19.14 安装 PyQt4 失败)和 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 和 sip 手动安装的任何想法,或者为什么它没有按预期工作?

【问题讨论】:

  • 你用的是什么版本的python?
  • 运行this - replacing key = sip 然后edit 你的问题以显示输出。
  • 在 Python 提示符下,您能否显示PyQT4.__path__sip.__path__ 的输出(如果您收到有关不存在属性的错误,请尝试改用.__file__)。如果其中一个是您当前工作目录的本地目录,那么这就是您的问题所在。
  • 请理解 sip 标签适用于 rfc3261。见link

标签: python pyqt4 qtwebkit qtcore python-sip


【解决方案1】:

从版本 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

【讨论】:

    【解决方案2】:

    我让它与特定的 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,这对许多应用程序都很重要

    【讨论】:

      猜你喜欢
      • 2013-06-04
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      • 2014-10-29
      • 2015-11-17
      相关资源
      最近更新 更多