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