HerokuにPyODBCをインストールしようとしていますが、fatal error: sql.h: No such file or directory
は、pipの実行時にログに記録されます。このエラーを修正するにはどうすればよいですか?
以下の回答をフォローアップするには...
Ubuntuの例:
Sudo apt-get install unixodbc unixodbc-dev
CentOSの例:
Sudo yum install unixODBC-devel
Windowsの場合:
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=yourserver.yourcompany.com;DATABASE=yourdb;UID=user;PWD=password')
Linuxの場合:
conn = pyodbc.connect('DRIVER={FreeTDS};SERVER=yourserver.yourcompany.com;PORT=1433;DATABASE=yourdb;UID=user;PWD=password;TDS_VERSION=7.2')
UnixODBC develパッケージが必要です。使用しているディストリビューションはわかりませんが、Googleで検索してソースからビルドできます。
最初にHerokuビルドパックを追加して、必要なaptパッケージをプレインストールできます
heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt
ディレクトリルートおよびリポジトリにもAptfile
を追加します
unixodbc
unixodbc-dev
python-pyodbc
libsqliteodbc
pythonからHerokuのpyodbc
またはaioodbc
パッケージで作業するために必要なすべてをインストールします
プロジェクトのルートディレクトリにAptfileという名前のファイルを作成します。ファイルの内容は次のとおりです。
unixodbc
unixodbc-dev
python-pyodbc
コマンドプロンプト/シェルでこのコマンドを渡します。
**heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt**
上記の手順を完了した後、リポジトリをコミットし、それを使用してプッシュします
git Push heroku master