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,则需要从 <env>/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的主要内容,如果未能解决你的问题,请参考以下文章
App Engine Python 2.7 - ImportError:无法导入名称 apiproxy
在 Python 2.7 中出现“ImportError:无法导入名称 HTTPSConnection”错误