Python 2.7 无法导入 PyQt4

Posted

技术标签:

【中文标题】Python 2.7 无法导入 PyQt4【英文标题】:Python 2.7 cannot import PyQt4 【发布时间】:2011-04-29 23:28:22 【问题描述】:

我已在 Ubuntu Maverick Meerkat (10.10) 上从 Python 2.6 升级到 Python 2.7,但无法导入 PyQt4。

austin@gerald:~$ python2.7
Python 2.7.0+ (r27:82500, Sep 15 2010, 18:04:55) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named PyQt4

我从 Ubuntu 存储库安装了 Python 2.7 (python2.7) 和 PyQt4 (python-qt4)。我前一阵子安装了 PyQt,但我最近安装了 Python 2.7。

如果我尝试使用 Python 2.6(因为它是 Ubuntu 附带的,命令只是 python),它可以完美运行。观看:

austin@gerald:~$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt4

我知道问题出在哪里:Python 2.6 可以访问 PyQt4 模块,但 2.7 不能访问。我的问题是,如何让 Python 2.7 找到 PyQt4 模块?救命!

注意:对不起,如果这属于超级用户,我只是在编程时遇到这个问题。

【问题讨论】:

【参考方案1】:

由于 PyQt 未使用 setup.py,因此无法使用 pip 或 easy_install 进行安装

这里有一个教程,展示了如何为 python2.7 构建和安装 PyQt:

http://problemssol.blogspot.com/2010/12/compile-and-install-pyqt4-for-python27.html

更新: 对于 Ubuntu 12.04+,只需使用 apt-get:

apt-get install python-qt4

【讨论】:

【参考方案2】:

在 Ubuntu 系统下,可以通过 apt-get 安装

apt-get install python-qt4

【讨论】:

将此标记为答案,因为即使在受支持的最旧 Ubuntu 版本(12.04 LTS atm)上,python 软件包现在也是 2.7 版。谢谢! 注意,如果您使用的是 virtualenv,则需要从 &lt;env&gt;/lib/python2.7 中删除文件 no-global-site-packages.txt 以便从全局 Python 站点包中导入 PyQt4。【参考方案3】:

OSX 10.8.2 测试:

sudo pip install SIP

得到 IOError: [Errno 2] 没有这样的文件或目录:'/tmp/pip-build/SIP/setup.py'

那就好了:

cd /tmp/pip-build/SIP
sudo python configure.py
make
sudo make install

从http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.9.6/PyQt-mac-gpl-4.9.6.tar.gz下载 PyQt

解压。

cd PyQt-mac-gpl-4.9.6
sudo python configure.py
make

make 之后需要一段时间:

sudo make install    

好好享受吧:)

【讨论】:

运行 make 给我'错误:无法打开输出文件'main.o':'打开输出文件'main.o'时出错''【参考方案4】:

您可以在此处为任何版本的 Python 下载任何版本的 PyQt4,但由于您要求使用 python 2.7,因此这里是 python 2.7 的下载链接:

https://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.4/

【讨论】:

【参考方案5】:

您应该在 Python 2.7 环境中安装 PyQt4。为此运行

easy_install2.7 PyQt4

如果easy_install没有安装,你需要先下载并运行安装

python2.7 setup.py install

【讨论】:

对不起,我想说一句,为什么不点子呢?你没听说过“easy_install 对 pip 来说万岁”:) 那行不通。当我运行“easy_install-2.7 PyQt4”时,它只是说“正在阅读pypi.python.org/simple/PyQt4找不到'PyQt4'的索引页面(可能拼写错误?)扫描所有包的索引(这可能需要一段时间)阅读pypi.python.org/simple没有本地找到 PyQt4 错误的包或下载链接:找不到合适的分发 Requirement.parse('PyQt4')" :( 如何使用 pip?【参考方案6】:

请先安装SIP模块,这是python和c/c++ lib工具,还有PyQt4 lib

【讨论】:

以上是关于Python 2.7 无法导入 PyQt4的主要内容,如果未能解决你的问题,请参考以下文章

无法导入名称抑制 Python 2.7

App Engine Python 2.7 - ImportError:无法导入名称 apiproxy

在 Python 2.7 中出现“ImportError:无法导入名称 HTTPSConnection”错误

在虚拟环境python 2.7 pycharm中安装后无法导入请求

Python 导入错误:没有名为“PyQt4”的模块

无法从 PyQt4 导入 QtGui