Ich verwende Linux (2.6.18-164.15.1.el5.centos.plus) und versuche pyodbc zu installieren. Ich mache pip install pyodbc und bekomme eine sehr lange Liste von Fehlern, die auf enden
fehler: Befehl 'gcc' mit Exitstatus 1 fehlgeschlagen
Ich schaute in /root/.pip/pip.log und sah Folgendes:
Installationsfehler: Befehl/usr/local/bin/python -c "import setuptools; file = '/ home/build/pyodbc/setup.py'; execfile ('/ home/build/pyodbc/setup.py') ) "install --single-version-extern verwaltete --record /tmp/pip-7MS9Vu-record/install-record.txt schlug mit Fehlercode 1 fehl
Hat jemand ein ähnliches Problem bei der Installation von pyodbc?
Ich habe mein Problem gelöst, indem ich die richtigen Anweisungen auf pyodbc - Building wiki befolge, die besagt:
Unter Linux wird pyodbc in der Regel mit den unixODBC-Headern erstellt. Daher müssen Sie unixODBC und dessen Header installieren. Auf einer RedHat/CentOS/Fedora-Box bedeutet dies, dass Sie unixODBC-devel installieren müssen:
yum install unixODBC-devel
Auf Ubuntu müssen Sie unixodbc-dev installieren:
Sudo apt-get install unixodbc-dev
Installieren Sie pip mit folgendem Befehl:
Sudo apt-get install python-pip
sobald dies installiert ist, sollten Sie pyodbc erfolgreich installieren können:
pip install pyodbc
Führen Sie die folgenden Befehle aus (getestet auf 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
Hinzufügen einer weiteren Antwort auf diese Frage .. Für das Release Linux Debian Stretch müssten Sie die folgenden Abhängigkeiten installieren:
apt-get update
apt-get install g++
apt-get install unixodbc-dev
pip install pyodbc
Befolgen Sie die folgenden Schritte, um pyodbc in einer beliebigen Redhat-Version zu installieren
yum install unixODBC unixODBC-devel
yum install gcc-c++
yum install python-devel
pip install pyodbc
Ich habe auf diese Frage mehrmals verwiesen und habe die Antwort, die ich hier gesucht habe, tatsächlich gefunden: pyodbc wiki
Um einen gcc-Fehler unter Ubuntu Linux zu vermeiden, habe ich Folgendes getan:
Sudo aptitude install g++
Ich habe auch die folgenden 2 Pakete von Synaptic installiert:
python-dev
tdsodbc
Kämpfte mit dem gleichen Problem
Nach dem Ausführen: Sudo apt-get install unixodbc-dev
Ich konnte pyodbc installieren
Laut offiziellen Microsoft-Dokumenten für Ubuntu 18.04 solltest du folgende Befehle ausführen:
Sudo su
curl https://packages.Microsoft.com/keys/Microsoft.asc | apt-key add -
curl https://packages.Microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt-get update
ACCEPT_EULA=Y apt-get install msodbcsql17
exit
Wenn Sie python3.7 verwenden, ist es sehr wichtig, Folgendes auszuführen:
Sudo apt-get install python3.7-dev
Ich hatte das gleiche Problem mit CentOS 5.5
Neben der Installation von unixODBC-devel musste ich auch gcc-c ++ installieren
yum install gcc-c++
Ich weiß, das ist eine alte Frage, aber der Betreuer hat ein pyodbc
GitHub Repo .
Ich fand auch ein sehr gutes Beispiel für die Installation von FreeTDS und das Einrichten der Konfigurationsdateien .
Das Befolgen der Anweisungen in den GitHub-Dokumenten scheint mir immer die beste Option zu sein. Ab Februar 2018 sagen CentOs7 (sie haben alle Geschmacksrichtungen bei der Verbindung):
# 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
Wie wäre es, pyobdc aus einer Zip-Datei zu installieren? Von So stellen Sie mit pyODBC von Ubuntu aus eine Verbindung zum Microsoft SQL Server her :
Downloadquelle gegen apt-get
Das apt-get-Dienstprogramm in Ubuntu hat eine Version von pyODBC. (Version 2.1.7).
Es ist jedoch veraltet (2.1.7 vs. 3.0.6) und funktioniert möglicherweise nicht mit den neueren Versionen von UnixODBC und Freetds.
Dies ist besonders wichtig, wenn Sie versuchen, eine Verbindung zu späteren Versionen von Microsoft SQL Server (ab 2008) herzustellen.
Es wird empfohlen, bei der Arbeit mit dem neuesten Microsoft SQL Server die neuesten Versionen von UnixODBC, Freetds und PyODBC zu verwenden, anstatt sich auf Pakete in apt-get zu verlassen.
Ich war mit demselben Problem konfrontiert. Für Python3.6.8 und Ubuntu 16.04 hat mir keiner der obigen Punkte geholfen.
Sudo apt-get install python3.6-dev
Das hat mein Problem gelöst.
Ich brauchte das alles, aber ich brauchte auch Python Devel installiert:
Sudo yum install python-devel
Pyodbc lässt sich auf einfache Weise mit 'conda' installieren. As Conda installiert automatisch erforderliche Abhängigkeiten einschließlich Unixodbc.
conda --ugrade all
(optional)
dann conda install pyodbc
es werden folgende Pakete installiert:
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
Ich habe das benutzt:
yum install unixODBC.x86_64
Abhängig von der Version von Centos, die das Paket ändern könnte, können Sie wie folgt suchen:
yum search unixodbc