Como instalar PyQt4 en un entorno Virtualenv.

En este post quiero explicar como compilar y instalar PyQt4 y SIP en un entorno de desarrollo utilizando Virtualenv, en este caso utilizando Python 2.7.

Lo primero que debemos tener en cuenta es instalar las dependencias necesarias.

En Archlinux:

# pacman -Sy python2-pip python2 libxext python2-pyqt4 base-devel 

En Debian:

# apt-get install python-pip python2.7-dev libxext-dev python-qt4 qt4-dev-tools build-essential

Ya con eso debería bastar a la hora de compilar. En mi caso estoy utilizando ArchLinux y con esas dependencias fue suficiente.

En caso de no tener Virtualenv instalado ejecutamos:

# pacman -Sy python2-virtualenv

ó

# apt-get install python-virtualenv

Iniciamos el entorno de desarrollo en la ruta que deseamos.

$ virtualenv /home/usuario/virtualenv/nombre

Descargamos el código fuente de PyQt4 y SIP:

### Entramos a la carpeta y creamos el directorio build
$ cd /home/usuario/virtualenv/nombre && mkdir build
$ cd build
### Descargamos el código fuente. 
$ wget http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11/PyQt-x11-gpl-4.11.tar.gz
$ wget http://sourceforge.net/projects/pyqt/files/sip/sip-4.16/sip-4.16.tar.gz
### Y descomprimimos.
$ tar xzvf PyQt-x11-gpl-4.11.tar.gz
$ tar xzvf sip-4.16.tar.gz

Activamos el entorno virtual:

$ source ~/virtualenv/nombre/bin/activate

Ahora compilamos, primero SIP y luego PyQt.

### Entramos a la carpeta y compilamos
(nombre)$ cd sip-4.16
(nombre)$ python configure.py
(nombre)$ make
### Instalamos como root en este caso si deseamos.
(nombre)$ sudo make install

### Entramos al directorio de PyQt y compilamos
(nombre)$ cd ../PyQt-x11-gpl-4.11/
### Debemos especificarle la ruta del qmake de la versión de Qt que vamos a compilar, en el caso de ArchLinux por ejemplo, tenemos que especificar.
(nombre)$ python ./configure.py -q /usr/bin/qmake-qt4

Nos preguntara si aceptamos los términos de la licencia y escribimos ‘yes‘. Después toca esperar que chequee y genere todos los módulos y el archivo Makefile.

### Ahora instalamos:
(nombre)$ sudo make install

En el caso de PyQt si es necesario ejecutarlo como root o con sudo porque el necesita tener acceso a copiar los archivos a la ruta del Python del sistema que por lo general se encuentran en /usr/lib/python2.7/ y luego crear las librerías en el site-packages de nuestro entorno virtual activo, también crear los binarios necesarios en el directorio ./bin/ del entorno virtual y instalar los módulos de PyQt en el entorno virtual en ./share/sip/PyQt4/ como por ejemplo QtOpenGL y QtGui.

Ya con eso deberíamos tener funcionando perfectamente PyQt4 en nuestro entorno virtual. Lo podemos comprobar en una shell de Python de la siguiente manera.

(nombre)$ python
>>> from PyQt4 import *
>>>

Si no muestra ningún error importando es porque todo esta perfecto.

Suerte.

Saludos, feliz desarrollo.

Anuncios

3 comentarios en “Como instalar PyQt4 en un entorno Virtualenv.

  1. ¡Hola! Intenté todos los pasos que comentas y me da el siguiente error:

    /usr/bin/ld: no se puede encontrar -lqpycore
    collect2: error: ld returned 1 exit status
    Makefile:37: recipe for target ‘QtCore.so’ failed
    make[1]: *** [QtCore.so] Error 1
    make[1]: Leaving directory ‘/home/sgongar/Dev/UVigo-client/.venv/build/PyQt-x11-gpl-4.11.4/QtCore’
    Makefile:26: recipe for target ‘install’ failed
    make: *** [install] Error 2

    ¿Alguna idea? Muchas gracias.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s