Używam Linuksa (2.6.18-164.15.1.el5.centos.plus) i próbuję zainstalować pyodbc. Robię pip install pyodbc i otrzymuję bardzo długą listę błędów, które kończą się na
błąd: polecenie „gcc” nie powiodło się z kodem zakończenia 1
Zajrzałem do /root/.pip/pip.log i zobaczyłem co następuje:
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 nie powiodło się z kodem błędu 1
Czy ktoś miał podobny problem z instalacją pyodbc?
sudo apt-get install python3.7-dev
Rozwiązałem swój problem, postępując zgodnie z poprawnymi wskazówkami na pyodbc - Building wiki, która mówi:
źródło
Dodam jeszcze jedną odpowiedź na to pytanie. W przypadku wydania Linux Debian Stretch należy zainstalować następujące zależności:
źródło
apt-get install g++
;)Wykonaj poniższe kroki, aby zainstalować pyodbc w dowolnej wersji redhat
źródło
Walczyłem z tym samym problemem
Po bieganiu:
sudo apt-get install unixodbc-dev
Udało mi się zainstalować pip install pyodbc
źródło
Wykonaj następujące polecenia (przetestowane na Centos 6.5):
źródło
Odwoływałem się do tego pytania kilka razy i poszedłem znaleźć odpowiedź, której szukałem tutaj: pyodbc wiki
źródło
sudo apt-get install g++
po tym mogłem zainstalować pip w moim venv. Dzięki!Miałem ten sam problem na CentOS 5.5
Oprócz zainstalowania unixODBC-devel musiałem również zainstalować gcc-c ++
źródło
Prostym sposobem na zainstalowanie piodbc jest użycie „conda”. Jako conda automatycznie instaluje wymagane zależności, w tym unixodbc.
conda --ugrade all
(opcjonalny)następnie
conda install pyodbc
zainstaluje następujące pakiety:
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
źródło
Zgodnie z oficjalną dokumentacją Microsoft dla Ubuntu 18.04 powinieneś uruchomić następujące polecenia:
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
Jeśli używasz python3.7, bardzo ważne jest, aby uruchomić:
sudo apt-get install python3.7-dev
źródło
Potrzebowałem tego wszystkiego, ale potrzebowałem też zainstalowanego Pythona Devel:
źródło
Co powiesz na instalację pyobdc z pliku zip? Od Jak połączyć się z serwerem Microsoft Sql z Ubuntu przy użyciu pyODBC :
źródło
Wiem, że to stare pytanie, ale opiekun ma
pyodbc
repozytorium GitHub .Znalazłem również bardzo dobry przykład instalacji FreeTDS i konfiguracji plików konfiguracyjnych .
Postępowanie zgodnie z instrukcjami w dokumentacji GitHub wydaje mi się zawsze najlepszą opcją. Od lutego 2018 roku dla CentOs7 (mają wszystkie smaki pod linkiem) mówią:
# 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
źródło
pip install pyodbc
, zakładając, że wszystko inne poszło dobrze, będziesz mieć zainstalowany i dostępny zarówno sterownik, jak i pakiet. Możesz „po prostu użyć” pakietu, tworząc obiekt połączenia i kursor podobnie do każdego innego programistycznego dostępu do bazy danych. Przykłady można znaleźć w ich dokumentacji .Miałem ten sam problem. W przypadku Pythona3.6.8 i Ubuntu 16.04 żadne z powyższych nie pomogło mi.
sudo apt-get install python3.6-dev
To rozwiązało mój problem.
źródło
W moim przypadku ( Amazon Linux AMI ) żadne z powyższych nie działało. Działały (pomysł stąd ):
cc1plus
. Dla mnie to było/usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus
. Dla Ciebie może się to nieco różnić. Próbowaćls -l /usr/libexec/gcc
znaleźć właściwą nazwę katalogu i idź dalej.echo $PATH
(dla mnie to było/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin
)cc1plus
w jednym z katalogów w swojej PATH:sudo ln -s /PATH/TO/cc1plus /DIRinPATH/
Na przykład w moim przypadku:
sudo ln -s /usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus /usr/bin/
źródło
Archlinux / Manjaro:
następnie:
lub:
Możesz zaktualizować swoje narzędzia konfiguracyjne pip wheel przed zainstalowaniem pyodbc (nie wpłynie to na instalację piodbc) również za pomocą:
lub
źródło
Użyłem tego:
W zależności od wersji centos może zmienić pakiet, możesz wyszukiwać w ten sposób:
źródło
Te 2 polecenia z tego miejsca działały dla mnie w RHEL 8
źródło