当我导入Flask_棉花糖模块时,Flask应用程序失败

2024-04-26 19:11:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用flask、flask sqlalchemy和flask_棉花糖制作一个简单的REST API,但是当我从flask_棉花糖模块导入棉花糖时,我的flask应用程序没有运行,我已经检查过运行我的venv解释器,我尝试卸载和安装我使用的所有软件包(F-sqlalchemy、F-marshmallow、marshmallow sqlalchmy和pymysql)我甚至尝试用新的应用程序创建一个新的venv,但同样的错误不断出现。我的代码很简单,如下所示:

```
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"

if __name__ == "__main__":
    app.run(debug=True)              
        ```

我得到的错误记录行是这一行

```Traceback (most recent call last):
  File "hello.py", line 3, in <module>
    from flask_marshmallow import Marshmallow
  File "/Desktop/Flask-test/venv/lib/python3.8/site-packages/flask_marshmallow/__init__.py", line 24, in <module>
    from . import sqla
  File "/Desktop/Flask-test/venv/lib/python3.8/site-packages/flask_marshmallow/sqla.py", line 13, in <module>
    import marshmallow_sqlalchemy as msqla
  File "/Desktop/Flask-test/venv/lib/python3.8/site-packages/marshmallow_sqlalchemy/__init__.py", line 1, in <module>
    from .schema import (
  File "/Desktop/Flask-test/venv/lib/python3.8/site-packages/marshmallow_sqlalchemy/schema.py", line 6, in <module>
    from .convert import ModelConverter
  File "/Desktop/Flask-test/venv/lib/python3.8/site-packages/marshmallow_sqlalchemy/convert.py", line 9, in <module>
    from sqlalchemy.dialects import postgresql, mysql, mssql
  File "/Desktop/Flask-test/venv/lib/python3.8/site-packages/sqlalchemy/dialects/mysql/__init__.py", line 57, in <module>
    from . import asyncmy  # noqa
  File "/Desktop/Flask-test/venv/lib/python3.8/site-packages/sqlalchemy/dialects/mysql/asyncmy.py", line 175, in <module>
    class AsyncAdapt_asyncmy_connection(AdaptedConnection):
  File "/Desktop/Flask-test/venv/lib/python3.8/site-packages/sqlalchemy/dialects/mysql/asyncmy.py", line 185, in AsyncAdapt_asyncmy_connection
    async def _mutex_and_adapt_errors(self):
  File "/Desktop/Flask-test/venv/lib/python3.8/site-packages/sqlalchemy/util/concurrency.py", line 63, in asynccontextmanager
    _not_implemented()
  File "/Desktop/Flask-test/venv/lib/python3.8/site-packages/sqlalchemy/util/concurrency.py", line 37, in _not_implemented
    raise ValueError(
ValueError: the greenlet library is required to use this function.```
        

我试图跟踪错误日志,在第一个文件flask\u marshmallowinit.py中,我发现在某个点上,flask\u sqlalchemy的导入显示为未使用,因此我不知道它是否有助于查找它是什么

谢谢


Tags: inpytestimportflaskvenvsqlalchemylib