I'm trying to install PyODBC on Heroku, but I get fatal error: sql.h: No such file or directory in the logs when pip runs. How do I fix this error?
pyodbc is an open source Python module that makes accessing ODBC databases simple. It implements the DB API 2.0 specification but is packed with even more Pythonic convenience. Precompiled binary wheels are provided for most Python versions on Windows and macOS.
pyodbc is a Python DB conformant module for ODBC databases. This tutorial shows how to use pyodbc with an ODBC driver, which you can download from this site. You can then connect Python on Linux and Unix to remote database such as Microsoft SQL Server, Oracle®, DB2, Microsoft Access, Sybase ASE and InterBase.
To follow up on the answer below...
Example for Ubuntu:
sudo apt-get install unixodbc unixodbc-dev Example for CentOS:
sudo yum install unixODBC-devel Example for Fedora:
sudo dnf install unixODBC-devel On Windows:
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=yourserver.yourcompany.com;DATABASE=yourdb;UID=user;PWD=password') On Linux:
conn = pyodbc.connect('DRIVER={FreeTDS};SERVER=yourserver.yourcompany.com;PORT=1433;DATABASE=yourdb;UID=user;PWD=password;TDS_VERSION=7.2')
You can add Heroku build pack to preinstall required apt packages first
heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt Add Aptfile in the your directory root and to the repository as well
unixodbc unixodbc-dev python-pyodbc libsqliteodbc It will install everything you need to work with pyodbc or aioodbc packages from python on Heroku
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With