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 in enden
Fehler: Befehl 'gcc' mit Exit-Status 1 fehlgeschlagen
Ich habe in /root/.pip/pip.log nachgesehen und Folgendes gesehen:
InstallationError: Befehl / usr / local / bin / python -c "setuptools importieren; file = '/ home / build / pyodbc / setup.py'; execfile ('/ home / build / pyodbc / setup.py')" install - -single-version-extern-verwaltet --record /tmp/pip-7MS9Vu-record/install-record.txt ist mit Fehlercode 1 fehlgeschlagen
Hat jemand ein ähnliches Problem bei der Installation von pyodbc gehabt?
sudo apt-get install python3.7-dev
Ich habe mein Problem behoben, indem ich den korrekten Anweisungen in pyodbc - Building wiki gefolgt bin, in denen es heißt:
quelle
Hinzufügen einer weiteren Antwort auf diese Frage. Für Linux Debian Stretch müssen Sie die folgenden Abhängigkeiten installieren:
quelle
apt-get install g++
;)Führen Sie die folgenden Schritte aus, um pyodbc in einer beliebigen Redhat-Version zu installieren
quelle
Kämpfte mit dem gleichen Problem
Nach dem Rennen:
sudo apt-get install unixodbc-dev
Ich konnte pyodbc pip installieren
quelle
Führen Sie die folgenden Befehle aus (getestet auf Centos 6.5):
quelle
Ich habe diese Frage mehrmals referenziert und tatsächlich die Antwort gefunden, nach der ich hier gesucht habe: pyodbc wiki
quelle
sudo apt-get install g++
Danach konnte ich die Installation in meinem Venv durchführen. Vielen Dank!Ich hatte das gleiche Problem unter CentOS 5.5
Zusätzlich zur Installation von unixODBC-devel musste ich auch gcc-c ++ installieren
quelle
Eine einfache Möglichkeit, pyodbc zu installieren, ist die Verwendung von 'conda'. As conda installiert automatisch die erforderlichen Abhängigkeiten einschließlich unixodbc.
conda --ugrade all
(Optional)dann
conda install pyodbc
Folgende Pakete werden 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
quelle
Laut offiziellen Microsoft-Dokumenten für Ubuntu 18.04 sollten Sie die folgenden 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
quelle
Ich brauchte das alles, aber ich musste auch Python Devel installieren:
quelle
Wie wäre es mit der Installation von pyobdc aus einer Zip-Datei? Von So stellen Sie mit pyODBC eine Verbindung zu Microsoft SQL Server von Ubuntu her :
quelle
Ich weiß, dass dies eine alte Frage ist, aber der Betreuer hat ein
pyodbc
GitHub-Repo .Ich habe auch ein sehr gutes Beispiel für die Installation von FreeTDS und das Einrichten der Konfigurationsdateien gefunden .
Das Befolgen der Anweisungen in den GitHub-Dokumenten scheint mir immer die beste Option zu sein. Ab Februar 2018 sagen sie für CentOs7 (sie haben alle Geschmacksrichtungen unter dem Link):
# 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
quelle
pip install pyodbc
Annahme, dass alles andere in Ordnung ist, haben Sie nach der Eingabe sowohl den Treiber als auch das Paket installiert und sind verfügbar. Sie würden das Paket "einfach verwenden" und das Verbindungsobjekt und den Cursor ähnlich wie bei jedem anderen programmgesteuerten Zugriff auf eine Datenbank erstellen. Beispiele finden Sie in der Dokumentation .Ich stand vor dem gleichen Problem. Für Python3.6.8 und Ubuntu 16.04 hat mir keiner der oben genannten Punkte nicht geholfen.
sudo apt-get install python3.6-dev
Dies löste mein Problem.
quelle
In meinem Fall ( Amazon Linux AMI ) hat keines der oben genannten Verfahren funktioniert. Folgendes hat funktioniert (Idee von hier ):
cc1plus
. Für mich war es in/usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus
. Für Sie kann es etwas variieren. Versuchen Siels -l /usr/libexec/gcc
, den richtigen Verzeichnisnamen zu finden, und fahren Sie fort.echo $PATH
(für mich war es/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin
)cc1plus
einem der Verzeichnisse in Ihrem PFAD ein:sudo ln -s /PATH/TO/cc1plus /DIRinPATH/
Zum Beispiel in meinem Fall:
sudo ln -s /usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus /usr/bin/
quelle
Für Archlinux / Manjaro:
dann:
oder:
Sie können Ihre Pip Wheel Setuptools vor der Installation von pyodbc aktualisieren (dies hat keine Auswirkungen auf die pyodbc-Installation), und zwar auch mit:
oder
quelle
Ich habe das benutzt:
Abhängig von der Version von Centos, die das Paket ändern könnte, können Sie folgendermaßen suchen:
quelle
Diese 2 Befehle von hier haben für mich in RHEL 8 funktioniert
quelle