可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
This question was originally asked in askubuntu.com but got no attention so I think maybe this is a better place to ask.
I installed PyQt4 with synaptic.
I'm using Python3 so I need to configure the path for PyQt4 in eclipse, but it seems synaptic only installed PyQt4 for python 2 since I only found relative files and folders under python 2.6 and 2.7.
So how can I make PyQt4 to work with Python 3 and eclipse ?
Thanks.
UPDATE:
I tried to configure it following this post: http://ubuntuforums.org/showthread.php?p=10914908#post10914908
But after following all the instructions without any error occurs in the way, I get error from running this code in python 3.2:
>>> import PyQt4
The error message is :
Traceback (most recent call last): File "", line 1, in ImportError: No module named PyQt4
But the strange thing is that the same code results NO error in python 2.7 (I have both 2.7 and 3.2 installed on my machine)
回答1:
Install packages needed for compiling (I am not sure these all are needed):
sudo apt install build-essential python3-dev libqt4-dev
Download sources of the latest SIP - sip-4.12.4.tar.gz (Linux, UNIX, MacOS/X source).
Unpack them and enter the directory:
vic@wic:~/Desktop/sip-4.12.4$ python3 configure.py This is SIP 4.12.4 for Python 3.2 on linux2. The SIP code generator will be installed in /usr/bin. ... Creating sip module Makefile... vic@wic:~/Desktop/sip-4.12.4$ make make[1]: Entering directory `/home/vic/Desktop/sip-4.12.4/sipgen' ... make[1]: Leaving directory `/home/vic/Desktop/sip-4.12.4/siplib' vic@wic:~/Desktop/sip-4.12.4$ sudo make install make[1]: Entering directory `/home/vic/Desktop/sip-4.12.4/sipgen' ... cp -f /home/vic/Desktop/sip-4.12.4/sipdistutils.py /usr/lib/python3/dist-packages/sipdistutils.py vic@wic:~/Desktop/sip-4.12.4$
Download the sources of the latest PyQt - PyQt-x11-gpl-4.8.5.tar.gz (Linux, UNIX source), and install it:
vic@wic:~/Desktop/PyQt-x11-gpl-4.8.5$ python3 configure.py Determining the layout of your Qt installation... This is the GPL version of PyQt 4.8.5 (licensed under the GNU General Public License) for Python 3.2 on linux2. Type '2' to view the GPL v2 license. Type '3' to view the GPL v3 license. Type 'yes' to accept the terms of the license. Type 'no' to decline the terms of the license. Do you accept the terms of the license? yes Found the license file pyqt-gpl.sip. Checking to see if the QtGui module should be built... ... Checking to see if the dbus support module should be built... The Python dbus module doesn't seem to be installed. Qt v4.7.2 free edition is being used. SIP 4.12.4 is being used. The Qt header files are in /usr/include/qt4. ... Creating pyqtconfig.py... vic@wic:~/Desktop/PyQt-x11-gpl-4.8.5$ make make[1]: Entering directory `/home/vic/Desktop/PyQt-x11-gpl-4.8.5/qpy' ... make[1]: Leaving directory `/home/vic/Desktop/PyQt-x11-gpl-4.8.5/designer' vic@wic:~/Desktop/PyQt-x11-gpl-4.8.5$ sudo make install make[1]: Entering directory `/home/vic/Desktop/PyQt-x11-gpl-4.8.5/qpy' ... cp -f PyQt4.api /usr/share/qt4/qsci/api/python/PyQt4.api
Note, that I am launching python3 instead of python.
回答2:
You should be able to install the python 3 version of PyQt4 in ubuntu. Open a terminal and type:
sudo apt-get install python3-pyqt4
This way you don't have to compile Qt4 from source. I have also tested this and pyqt4 works with python3.
Source: A quick search in the ubuntu repositories.
回答3:
It looks like ubuntu only has pyqt4 packages for python2, so you will have to compile a separate pyqt4 for python3.
You can check what you already have installed by looking in the site-packages directory for each python. To locate these directories, run:
python2.7 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" python3.2 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
If pyqt is installed properly, there should be a PyQt4 directory under site-packages containing a couple of dozen *.so files.
Presumably, there will be nothing there for python3.2, which is why you can't import pyqt.
To install pyqt for python3.2, follow these instructions. Please note that it is very important that you configure the build using the right python, e.g:
/usr/bin/python3.2 configure.py