Python не может найти драйвер ODBC на Heroku после установки всего

Я рассмотрел все возможные решения в Интернете, но я не могу заставить pyobdc загружать драйверы на heroku.

Шаги, которые я использовал для создания приложения, следующие:

heroku create
heroku config:set FLASK_CONFIG=heroku 

heroku buildpacks:add heroku/python
heroku buildpacks:add --index 1 heroku-community/apt

git push heroku master 

Я пробовал даже с odbc buildpack, но все равно не повезло:

heroku buildpacks:add https://github.com/iFix/heroku-buildpack-odbc.git

Пройдя через веб-сайт Microsoft, я урезал свой Aptfile, чтобы установить heroku для установки следующих пакетов:

# install msodbcsql17
https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/msodbcsql17/msodbcsql17_17.4.2.1-1_amd64.deb
# install mssql-tools
https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/mssql-tools/mssql-tools_17.4.1.1-1_amd64.deb
# install unixodbc-dev
unixodbc-dev

Это делает установку pyodbc без ошибок. Но когда я запускаю pyodbc.drivers (), он ничего не возвращает. Та же команда в Ubuntu 16.04 возвращает «Драйвер ODBC 17 для SQL Server».

Исходный код проекта находится по адресу: https://github.com/IamVNIE/odbcTestHeroku.

Размещенное приложение находится по адресу: https://pyodbctest.herokuapp.com/.

Может ли кто-нибудь дать несколько указателей, чтобы эта работа работала.


person The FPGA Race    schedule 12.12.2019    source источник


Ответы (1)


Я решил эту проблему, предварительно скомпилировав драйвер ODBC 17 для SQL Server на компьютере под управлением Ubuntu 18.04 и скопировав файлы libmsodbcsql-17.5.so.2.1 и msodbcsqlr17.rll в соответствующие каталоги с помощью пакета сборки Heroku. Это драйвер ODBC 17.5 для SQL Server, и я, скорее всего, не буду компилировать другие версии этого драйвера, но полагаю, что концепция останется прежней.

Пакет сборки Heroku и его требования можно найти здесь https://github.com/matt-bertoncello/python-pyodbc-buildpack.git

person m.b    schedule 23.06.2020