Instalar Mendeley Desktop en Ubuntu 16.04

Buenas tardes,

Si tenéis problemas para ejecutar Mendeley en vuestra Ubuntu 16.04 después de haberlo instalado, lo más probable es que os falte un par de librerías.

Si entráis en la terminal y veis algo como esto:

Unable to use Qt libraries in /usr/lib/x86_64-linux-gnu. Some components are missing:
	/usr/lib/x86_64-linux-gnu/libQtSvg.so.4.8.7
	/usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
To run Mendeley Desktop you may need to install the QtWebKit and QtSvg packages provided by your Linux distribution.
Using bundled SSL runtime libraries
/usr/bin/../../opt/mendeleydesktop/bin/mendeleydesktop: error while loading shared libraries: libgstapp-0.10.so.0: cannot open shared object file: No such file or directory

Entonces tiene toda la pinta de que os faltan. La solución es tan fácil como instalarlas a golpe de apt:

$ sudo apt-get install libqtsvg4-perl libqtwebkit4

Espero que ahora os funcione. Si no, ya sabéis, ahí tenéis la sección de comentarios. ¡¡Saludos a todos!!

MySQL, Python, MacOSX Mountain Lion y sus problemas

Muy buenas a todos,

En esta entrada voy a hablar de una vendetta personal que tengo contra python: MySQL. No entiendo muy bien por qué siempre acabo teniendo problemas para instalar el conector y, como unas cuantas entradas más, esta es la solución que he encontrado por si alguien se encuentra en mi misma situación (incluido yo mismo).

Para ello partiremos de dos supuestos: el primero, que somos unos destroyers sin entornos virtuales y el segundo que no lo somos y tenemos cada entorno del proyecto en un entorno virtual aparte.

Sin entornos virtuales

Tanto si eres un amante del efecto dominó de la actualización de la librería X_v0.9.11 (sí, Tastypie, te estoy mirando a ti) como si sólo tienes un proyecto o directamente no te apetece configurar entornos virtuales, habrás llegado a un punto donde no hay manera de que se instale el puñetero mysql-python a golpe de pip en tu flamante MacOSX Mountain Lion. No desesperes y prueba esta otra receta a ver qué tal te va:

Primero debemos añadir al PATH de la consola el directorio de instalación de MySQL. Para ello editamos el fichero $HOME/.bash_profile añadiendo la siguiente línea:

export PATH=/usr/local/mysql/bin:$PATH

En nuestro caso la ruta es /usr/local/mysql/bin, así que echad un ojo por si acaso no es así y está instalado en cualquier otra ruta).

Segundo, para que no falle la instalación con pip, hay que enlazar el directorio de lib de MySQL así como la librería dinámica:

sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

De nuevo, hay que echar un ojo a las rutas para asegurarnos de que sean correctas. Finalmente, instalamos el módulo con pip:

pip install mysql-python

Y rezamos para que no nos dé de nuevo el temido error de mysql-config not found. Si algo ha salido raro, ahí están los comentarios para contar vuestros casos. Así, entre todos intentaremos solucionarlos.

Con entornos virtuales

Realmente habiendo hecho el cambio anterior, la instalación desde la línea de comandos en un entorno virtual debería funcionar exactamente igual. Sin embargo, si como es mi caso, usáis como entorno de desarrollo PyCharm os encontraréis con que no funciona, saliendo el mensaje del terror, mysql-config not found. Por lo que me he encontrado parece que al usar un entorno virtual por alguna razón no coge bien el PATH (por favor, si alguien sabe por qué que nos ilumine).

La solución que hemos encontrado es la de la edición del script de arranque del entorno virtual. Esto es, si tenemos el entorno virtual bajo la ruta ~/.venvs/virtual/, habrá que editar el fichero ~/.venvs/virtual/bin/activate, localizando las siguientes líneas:

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
export PATH

Y modificándolas para que queden como sigue:

_OLD_VIRTUAL_PATH="$PATH"
PATH="$PATH:/usr/local/mysql/bin/"
PATH="$VIRTUAL_ENV/bin:$PATH"
export PATH

Una vez hecho esto existen dos opciones, o reiniciar PyCharm e intentar instalar desde el propio entorno o bien entrar en el entorno virtual e instalar mysql-python a golpe de pip:

source ~/.venvs/virtual/bin/activate
pip install mysql-python
deactivate

Y eso es todo por hoy. Cualquier duda, aclaración o lo que queráis, ahí están los comentarios. Cualquier modificación o mejora es bienvenida. Buen día!