如何在Ubuntu 12.04上使用Python 2.7安装PyQt?

22

可能会有一些类似这个问题的问题,但我没有找到任何对我有用的答案。

我尝试了一些方法:

sudo aptitude install python-qt4-dev python-sip4 python-sip4-dev

来自:https://groups.google.com/forum/#!topic/mnemosyne-proj-devel/VQQzjhARWoA

我还尝试了:

sudo aptitude install python-qt4

来自:http://www.saltycrane.com/blog/2008/01/how-to-install-pyqt4-on-ubuntu-linux/

每次安装完成后,我都会遇到错误:

$python2.7
Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] 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

我也尝试了从源代码安装PyQt4,从以下链接下载PyQt4:http://www.riverbankcomputing.co.uk/software/pyqt/download,以及sip的链接:http://www.riverbankcomputing.co.uk/software/sip/download

但是我在安装PyQt4时遇到了错误:

$ sudo python configure.py --verbose
Determining the layout of your Qt installation...
/usr/bin/qmake -o qtdirs.mk qtdirs.pro
make -f qtdirs.mk
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I. -o qtdirs.o qtdirs.cpp
qtdirs.cpp:1:28: fatal error: QCoreApplication: No such file or directory
compilation terminated.
make: *** [qtdirs.o] Error 1
Error: Failed to determine the layout of your Qt installation. Try again using
the --verbose flag to see more detail about the problem.

我的问题是:在Ubuntu 12.04上安装PyQt4的正确有效方法是什么?

2个回答

24

当您使用以下命令时,实际上已经正确安装了Qt4的Python绑定:

sudo aptitude install python-qt4

通常应使用发行版提供的软件包 - Ubuntu提供的软件包完全可以满足您的需求。

令我困惑的是,在安装Ubuntu软件包后,您遇到了错误。我刚在Ubuntu 12.04上尝试了一下,它对我有用。这表明您系统上当前的Ubuntu安装方式存在某些问题。

您可以尝试完全清除python-qt4软件包,然后再次安装;

sudo apt-get remove --purge python-qt4

如果您也遇到以下问题:

sudo apt-get clean

...这将从系统中删除任何下载的软件包文件,因此当您发出

apt

命令时,apt 将再次下载软件包文件。

sudo apt-get install python-qt4

如果那仍然不起作用,那么你的Ubuntu安装可能出了一些非常奇怪的问题,最好完全重新安装Ubuntu。


4
在AWS Ubuntu(12.04和14.04版本)上:
sudo apt-get update
sudo apt-get install python-qt4
sudo apt-get install libxml2-dev libxslt1-dev python-dev
sudo apt-get install python-lxml
sudo apt-get install xvfb

请查看此链接并生成你自己的example.py。

DISPLAY=localhost:1.0 xvfb-run python your-own-example.py

看,搞定了。


1
欢迎来到SO!这个解决方案能否解决Ubuntu 12.04中的OP问题?否则,这不是答案,或者需要澄清为什么选择回答14.04。有时候这是合适的,比如“这在14.04中也会发生,所以如果你遇到了这个问题,请使用这个方法来纠正问题。请参阅如何回答页面以获取帮助来改进您的答案。 - Madness
谢谢,是时候写代码而不是从SO上读取了。是的,我已经检查过了,它也适用于12.04版本。 - Tomas Aftalion
非常好,谢谢Tomas。 - Madness
太棒了,我已经通过爬取动态JavaScript渲染页面的解决方案进行了长时间的搜索。https://impythonist.wordpress.com/2015/01/06/ultimate-guide-for-scraping-javascript-rendered-web-pages/ - Ryan Chou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接