首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask:无法初始化棉花糖

Flask:无法初始化棉花糖
EN

Stack Overflow用户
提问于 2020-06-05 01:13:44
回答 2查看 524关注 0票数 0

我使用Flask、SqlAlchemy和Marshmallow来构建一个具有Python的REST API。

我使用pipenv install flask flask-sqlalchemy flask-marshmallow和marshmallow-sqlalchemy,它运行得很好。

以下是我的依赖版本:

代码语言:javascript
复制
click==7.1.2
Flask==1.1.2
flask-marshmallow==0.12.0
Flask-SQLAlchemy==2.4.3
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
marshmallow==2.21.0
marshmallow-sqlalchemy==0.19.0
six==1.15.0
SQLAlchemy==1.3.17
Werkzeug==1.0.1

现在,我运行这段代码来运行一个不带任何方法的基本服务器

代码语言:javascript
复制
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
import os

# Init app
app = Flask(__name__)
basedir = os.path.abspath(os.path.dirname(__file__))
# Database
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'db.sqlite')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# Init db
db = SQLAlchemy(app)
# Init ma
ma = Marshmallow(app) # This is where the error appears

# Run Server
if __name__ == '__main__':
    app.run(debug=True)

当我运行这段代码时,我得到了以下异常:

代码语言:javascript
复制
 File "/Users/pro/PycharmProjects/EventPlannerAPI/app.py", line 15, in <module>
    ma = Marshmallow(app)
  File "/Users/pro/.local/share/virtualenvs/EventPlannerAPI-OoqXq5gv/lib/python3.7/site-packages/flask_marshmallow/__init__.py", line 104, in __init__
    self.init_app(app)
  File "/Users/pro/.local/share/virtualenvs/EventPlannerAPI-OoqXq5gv/lib/python3.7/site-packages/flask_marshmallow/__init__.py", line 116, in init_app
    self.SQLAlchemySchema.OPTIONS_CLASS.session = db.session
AttributeError: 'NoneType' object has no attribute 'OPTIONS_CLASS'

因为我正在遵循一个(1-2岁)教程,我不知道为什么它不能工作,特别是在一个类似的项目中,一切都很好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-08 00:53:36

这是不同版本之间的兼容性问题。它应该很快就会被修复。

票数 0
EN

Stack Overflow用户

发布于 2020-06-10 16:16:14

我也有同样的问题。我使用的是python2.7虚拟环境,当我安装marshmallow-sqlalchemy时,默认安装的是0.19.0版。在修复过程中,我将其更改为Python 3,然后将依赖版本更改为0.23.0。现在它工作得很好。0.19.0版本导致了该问题。但我不确定是否也需要更改python版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62200440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档