簡體   English   中英

導入錯誤:沒有名為 sip 的模塊(python2.7 PyQt4)

[英]ImportError: No module named sip (python2.7 PyQt4)

我目前使用的是 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 的任何想法,或者為什么它不能按預期工作?

從 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

我讓它與特定的 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,這對許多應用程序都很重要

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM