gpt4 book ai didi

python - 运行 GAE 开发服务器时,本地 MySQLdb 连接失败并出现 AttributeError for paramstyle

转载 作者:IT老高 更新时间:2023-10-28 20:22:59 31 4
gpt4 key购买 nike

我正在使用 Flask-Alchemy 针对 Cloud SQL 构建一个 GAE Flask 应用程序,并在构建应用程序时运行 dev_appserver 来测试该应用程序。

但是,如果我将 SQLALCHEMY_DATABASE_URI 设置为 mysql+gaerdbms:///appname?instance=instanceid URL,我会在尝试调用 db.create_all():

Traceback (most recent call last):
# earlier lines omitted for brevity
File "/Project/app/foo.bar/foo/bar/admin/__init__.py", line 26, in init_db
db.create_all()
File "/Project/app/distlib/flask_sqlalchemy/__init__.py", line 856, in create_all
self._execute_for_all_tables(app, bind, 'create_all')
File "/Project/app/distlib/flask_sqlalchemy/__init__.py", line 848, in _execute_for_all_tables
op(bind=self.get_engine(app, bind), tables=tables)
File "/Project/app/distlib/flask_sqlalchemy/__init__.py", line 797, in get_engine
return connector.get_engine()
File "/Project/app/distlib/flask_sqlalchemy/__init__.py", line 473, in get_engine
self._engine = rv = sqlalchemy.create_engine(info, **options)
File "/Project/app/distlib/sqlalchemy/engine/__init__.py", line 332, in create_engine
return strategy.create(*args, **kwargs)
File "/Project/app/distlib/sqlalchemy/engine/strategies.py", line 69, in create
dialect = dialect_cls(**dialect_args)
File "/Project/app/distlib/sqlalchemy/dialects/mysql/base.py", line 1986, in __init__
default.DefaultDialect.__init__(self, **kwargs)
File "/Project/app/distlib/sqlalchemy/engine/default.py", line 124, in __init__
self.paramstyle = self.dbapi.paramstyle
AttributeError: 'module' object has no attribute 'paramstyle'

什么给了?为什么缺少(需要 DB-API 2.0)paramstyle 属性?

最佳答案

这意味着 MySQLdb 模块丢失并且无法导入。 GAE SDK 本身不附带 MySQLdb 客户端库;安装 MySQLdb (as instructed in the SDK documentation):

venv/bin/pip install mysql-python

或使用您的操作系统包管理器在您的系统 python 中安装 MySQLdb。

该错误是由 Google google.appengine.api.rdbms_mysqldb 模块引起的,该模块充当 stub ,在 import MySQLdb< 时没有 paramstyle 属性 失败。提供了一个 stub connect() 函数,该函数将引发更有用的异常,但由于与 SQLAlchemy 的不幸交互,该错误提供的信息要少得多。

关于python - 运行 GAE 开发服务器时,本地 MySQLdb 连接失败并出现 AttributeError for paramstyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20433973/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com