Использование Flask-SQLAlchemy с AWS Lambda - PullRequest
0 голосов
/ 06 мая 2019

У меня на локальном хосте запущено приложение Flask. Обычно я создаю экземпляр объекта SQLAlchemy для db с db = SQLAlchemy(), а затем использую несколько основных функций, таких как: db.drop_all(), db.create_all(), db.session.add(MyClass), db.session.commit().

Использовал Zappa для развертывания моего веб-приложения Flask в AWS Lambda, и, хотя я и заморозил требования к пунктам, я получаю следующую ошибку:

ImportError: cannot import name '_mysql' from 'MySQLdb'

Теперь я столкнулся с этим вопросом , но он рассматривает чистый SQLAlchemy ORM и новый пакет (вне моего venv, из того, что я понял).

Мне было интересно, как лучше всего решить мою проблему с моей текущей настройкой (например, я обычно не создаю движок).

Есть идеи / предложения?

Большое спасибо.

EDIT

После долгих исследований кажется, что в модуле _mysql есть ошибка. Чтение документов GitHub:

Версии MySQL Connector / C могут иметь неправильную конфигурацию по умолчанию параметры, которые вызывают ошибки компиляции, когда mysqlclient-python установлены. (По состоянию на ноябрь 2017 года, это, как известно, верно для mysql-connector-c доморощенного и официальный пакет)

Модификация mysql_config решает эти проблемы следующим образом.

Изменение

# on macOS, on or about line 112:
# Create options
libs="-L$pkglibdir"
libs="$libs -l "

до

# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

Но я просто не могу найти mysql_config. При наборе nano mysql_config на терминале (с моим активированным venv) я получаю пустой файл. Я предположил бы, что решение этой конфигурации решит модуль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...