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?
The other answers are more or less correct; you're missing the unixodbc-dev[el]
package for your operating system; that's what pip
needs in order to build pyodbc
from source.
However, a much easier option is to install pyodbc
via the system package manager. On Debian/Ubuntu, for example, that would be apt-get install python-pyodbc
. Since pyodbc
has a lot of compiled components and interfaces heavily with the UnixODBC OS-level packages, it is probably a better fit for a system package rather than a Python/pip-installed one.
You can still list it as a dependency in your requirements.txt
files if you're making code for distribution, but it'll usually be easier to install it via the system PM.