У меня на локальном хосте запущено приложение 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
) я получаю пустой файл. Я предположил бы, что решение этой конфигурации решит модуль.