How to configure PyQt4 for Python 3 in Ubuntu?

前端 未结 3 959
感动是毒
感动是毒 2020-12-01 05:30

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\'

相关标签:
3条回答
  • 2020-12-01 05:56

    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.

    0 讨论(0)
  • 2020-12-01 06:02

    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.

    0 讨论(0)
  • 2020-12-01 06:03

    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
    
    0 讨论(0)
提交回复
热议问题