Entrada relámpago para explicar cómo resolver los errores de instalación de pymssql en OSX. Si usamos pip para realizar la gestión de los paquetes de python e intentamos realizar la instalación de pymssql nos habremos dado cuenta de que generalmente devuelve errores, los más típicos son estos dos:

1.

_mssql.c:266:10: fatal error: 'sqlfront.h' file not found
#include "sqlfront.h

2.

_mssql.c:18924:15: error: use of undeclared identifier 'DBVERSION_80'
__pyx_r = DBVERSION_80;

El primer error generalmente se debe a que falta por instalar el FreeTDS mientras que el segundo se debe a un error con la versión del mismo paquete. Os paso un mini procedimiento para realizar la instalación sin que os dé errores (en caso de que aún así encontréis algún error hacedmelo saber!!!)

Primero, y siempre que hayáis instalado el freeTDS sin tener en cuenta estas instrucciones, eliminamos el link que se genera con la instalación a través del brew.

brew unlink freetds;

Después instalamos de nuevo el brew pero especificando la versión.

brew install freetds@0.91;
brew link --force freetds@0.91

Ahora, añadimos a la variable de entorno PATH la ruta donde se encuentra el FreeTDS. En mi caso, usuario habitual de Oh my zsh!, lo hago añadiendo la siguiente línea al fichero ~/.zshrc, pero se puede hacer igual con cualquier otro terminal sencillamente cambiando el fichero.

echo 'export PATH="/usr/local/opt/freetds@0.91/bin:$PATH"' >> ~/.zshrc

Finalmente realizamos la instalación de pymssql con el pip como siempre (en mi caso con pip3).

sudo -H pip3 install pymssql

Eso es todo, ya podemos usar las librerías de acceso a Microsoft SQL Server desde Python con nuestro Mac.

Saludos.

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