Не удалось загрузить pyodbc в службу приложений Azure - PullRequest
0 голосов
/ 15 февраля 2019

Я использую службу приложений Azure для создания своего веб-сайта.Сайт работал на моем локальном хосте, используя базу данных sqllite и SQLAlchemy.Теперь я пытаюсь переключиться на базу данных SQL Azure, используя следующее: https://gist.github.com/timmyreilly/f4a351eda5dd45aa9d56411d27573d7c

Я следовал инструкциям, но получаю эту ошибку.Я посмотрел на ошибку и обнаружил следующее: pyodbc - ошибка при запуске приложения в контейнере , но это не помогло, потому что там сказано, что решение делает sudo apt install unixodbc-dev, но Azure CLI не позволяетя использую sudo, поэтому я не уверен, как я могу это сделать.Ребята, вы можете мне помочь, что мне делать?

2019-02-15T00:55:28.174067202Z   File "/home/site/wwwroot/antenv/lib/python3.7/site-packages/sqlalchemy/connectors/pyodbc.py", line 38, in dbapi
2019-02-15T00:55:28.174070902Z     return __import__('pyodbc')
2019-02-15T00:55:28.174195702Z ImportError: libodbc.so.2: cannot open shared object file: No such file or directory

1 Ответ

0 голосов
/ 15 февраля 2019

Согласно информации об ошибках и комментариям @IvanYang, вы развернули приложение Python в службе приложений Azure для контейнера Linux, основанной на Docker.

Таким образом, вы можете обратиться к официальному документу SSH support for Azure App Service on Linux, чтобы подключиться к системе Linux вашего приложения, установить недостающий пакет unixodbc-dev через sudo apt install unixodbc-dev, а затем сделать свое приложениеработает до перезапуска службы приложения.

Изменение установленного unixodbc-dev является временным для док-контейнера, вы можете обратиться к существующему потоку SO Установите unixodbc-dev для веб-приложения Flask в службе приложений Azure , чтобы узнать это.Единственный способ сохранить его работоспособность - добавить приведенное ниже содержимое в файл .dockerfile или использовать образ докера, в котором были установлены необходимые пакеты, при создании экземпляра службы приложений в Linux.

# Add unixodbc support
RUN apt-get update \
        && apt-get install -y --no-install-recommends unixodbc-dev
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...