win una mac for datos conectarse conectar con como actualizar python linux centos pyodbc

python - una - No se puede instalar pyodbc en Linux



python y sql (13)

Estoy ejecutando Linux (2.6.18-164.15.1.el5.centos.plus) y estoy tratando de instalar pyodbc. Estoy haciendo pip install pyodbc y obtengo una larga lista de errores, que terminan en

error: el comando ''gcc'' falló con el estado de salida 1

Miré en /root/.pip/pip.log y vi lo siguiente:

InstallationError: Command / usr / local / bin / python -c "import setuptools; file = ''/ home / build / pyodbc / setup.py''; execfile (''/ home / build / pyodbc / setup.py'')" install - -single-version-externally-managed --record /tmp/pip-7MS9Vu-record/install-record.txt falló con el código de error 1

Alguien ha tenido un problema similar al instalar Pyodbc?


¿Qué hay de la instalación de pyobdc desde el archivo zip? Desde Cómo conectarse al servidor Sql de Microsoft desde Ubuntu usando pyODBC :

Descargar fuente vs apt-get

La utilidad apt-get en Ubuntu tiene una versión de pyODBC. (versión 2.1.7).
Sin embargo, está muy desactualizado (2.1.7 vs 3.0.6) y puede no funcionar bien con las versiones más recientes de unixODBC y freetds.
Esto es especialmente importante si intenta conectarse a versiones posteriores de Microsoft Sql Server (2008 en adelante).
Se recomienda que utilice las últimas versiones de unixODBC, freetds y pyODBC cuando trabaje con el último servidor Sql de Microsoft en lugar de confiar en paquetes en apt-get.


Agregando una respuesta más a esta pregunta. Para la versión Debian Stretch de Linux necesitarás instalar las siguientes dependencias:

apt-get update apt-get install g++ apt-get install unixodbc-dev pip install pyodbc


Ejecute los siguientes comandos (probado en centos 6.5):

yum install install unixodbc-dev yum install gcc-c++ yum install python-devel pip install --allow-external pyodbc --allow-unverified pyodbc pyodbc


En Ubuntu, necesitarás instalar unixodbc-dev:

sudo apt-get install unixodbc-dev

Instala pip usando este comando:

sudo apt-get install python-pip

una vez instalado, debe poder instalar pyodbc con éxito:

pip install pyodbc


He hecho referencia a esta pregunta varias veces y seguí buscando la respuesta que estaba buscando aquí: pyodbc wiki

Para evitar el error de gcc en Ubuntu Linux, lo hice:

sudo aptitude install g++

También instalé los siguientes 2 paquetes de Synaptic:

  • python-dev

  • tdsodbc


Luchado con el mismo problema

Después de ejecutar: sudo apt-get install unixodbc-dev

Pude instalar pipbcc


Necesitaba todo eso, pero también necesitaba python devel installed:

sudo yum install python-devel


Sé que esta es una vieja pregunta, pero el mantenedor tiene un pyodbc GitHub Repo .

También encontré un muy buen ejemplo para instalar FreeTDS y configurar los archivos de configuración .

Seguir las instrucciones en los documentos de GitHub me parece que siempre es la mejor opción. A partir de febrero de 2018, para CentOs7 (tienen todos los sabores en el enlace) dicen:

# Add the RHEL 6 library for Centos-7 of MSSQL driver. Centos7 uses RHEL-6 Libraries. sudo su curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo exit # Uninstall if already installed Unix ODBC driver sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts # Install the msodbcsql unixODBC-utf16 unixODBC-utf16-devel driver sudo ACCEPT_EULA=Y yum install msodbcsql #optional: for bcp and sqlcmd sudo ACCEPT_EULA=Y yum install mssql-tools echo ''export PATH="$PATH:/opt/mssql-tools/bin"'' >> ~/.bash_profile echo ''export PATH="$PATH:/opt/mssql-tools/bin"'' >> ~/.bashrc source ~/.bashrc # optional: for unixODBC development headers sudo yum install unixODBC-devel # the Microsoft driver expects unixODBC to be here /usr/lib64/libodbc.so.1, so add soft links to the ''.so.2'' files cd /usr/lib64 sudo ln -s libodbccr.so.2 libodbccr.so.1 sudo ln -s libodbcinst.so.2 libodbcinst.so.1 sudo ln -s libodbc.so.2 libodbc.so.1 # Set the path for unixODBC export ODBCINI=/usr/local/etc/odbc.ini export ODBCSYSINI=/usr/local/etc source ~/.bashrc # Prepare a temp file for defining the DSN to your database server vi /home/user/odbcadd.txt [MyMSSQLServer] Driver = ODBC Driver 13 for SQL Server Description = My MS SQL Server Trace = No Server = 10.100.1.10 # register the SQL Server database DSN information in /etc/odbc.ini sudo odbcinst -i -s -f /home/user/odbcadd.txt -l # check the DSN installation with: odbcinst -j cat /etc/odbc.ini # should contain a section called [MyMSSQLServer] # install the python driver for database connection pip install pyodbc


Siga los pasos a continuación para instalar pyodbc en cualquier versión de redhat

yum install unixODBC unixODBC-devel yum install gcc-c++ yum install python-devel pip install pyodbc


Tuve el mismo problema en CentOS 5.5

Además de instalar unixODBC-devel también tuve que instalar gcc-c ++

yum install gcc-c++


Una forma fácil de instalar pyodbc es usar ''conda''. Como conda instala automáticamente las dependencias requeridas, incluyendo unixodbc.

conda --ugrade all (opcional)

luego conda install pyodbc

instalará los siguientes paquetes:

libgfortran-ng: 7.2.0-hdf63c60_3 defaults mkl: 2018.0.3-1 defaults mkl_fft: 1.0.2-py36_0 conda-forge mkl_random: 1.0.1-py36_0 conda-forge numpy-base: 1.14.5-py36hdbf6ddf_0 defaults pyodbc: 4.0.17-py36_0 conda-forge unixodbc: 2.3.4-1 conda-forge


Usé esto:

yum install unixODBC.x86_64

Dependiendo de la versión de centos podría cambiar el paquete, puede buscar de esta manera:

yum search unixodbc


Resolví mi problema siguiendo las instrucciones correctas en pyodbc - Building wiki que dice:

En Linux, pyodbc generalmente se genera utilizando los encabezados de unixODBC, por lo que necesitará tener instalados unixODBC y sus encabezados. En un cuadro de RedHat / CentOS / Fedora, esto significa que necesitaría instalar unixODBC-devel:

yum install unixODBC-devel