【问题标题】:Flask Webserver SyntaxError: Missing parentheses in call to 'print'. Did you mean print("var", var)?Flask Webserver SyntaxError:调用“打印”时缺少括号。您是说 print("var", var) 吗?
【发布时间】:2020-10-12 10:04:50
【问题描述】:

我对使用烧瓶很陌生,在尝试运行我的 webapp 时出现以下错误:

  File "C:\Users\\Desktop\Flask\\Project\__init__.py", line 24, in create_app
    from .models import User
  File "C:\Users\\Desktop\Flask\\Project\models.py", line 1, in <module>
    from db import db
  File "c:\users\\appdata\local\programs\python\python38-32\lib\site-packages\db\__init__.py", line 69
    print "var", var
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("var", var)?

这是我的代码:

from flask_sqlalchemy import SQLAlchemy
from flask_login import LoginManager
from flask import Blueprint
from flask_jwt_extended import (
    JWTManager)

import jwt

db = SQLAlchemy()

def create_app(): 
    app = Flask(__name__)
    jwt = JWTManager(app)
    app.config['SECRET_KEY'] = 'altman'
    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.sqlite'
    app.config['JWT_COOKIE_CSRF_PROTECT'] = False
    app.config['JWT_TOKEN_LOCATION'] = ['cookies']
    app.config["JWT_ACCESS_COOKIE_NAME"] = "Info"

    db.init_app(app)

    from .models import User


    @login_manager.user_loader
    def load_user(user_id):
        return User.query.get(int(user_id))

    from .api import auth as auth_blueprint
    app.register_blueprint(auth_blueprint)

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    return app

这是 init.py 的代码。运行 webapp 时,我收到上面列出的错误。但是我一直在寻找并没有找到解决方案。init.py 中没有第 69 行,也没有打印。请帮帮我。在过去的几天里,我一直试图找到这个错误,但没有找到任何帮助。如果需要,我可以提供更多代码。谢谢:)

【问题讨论】:

  • 您如何最终得到一个为 Python 2 编写的模块被 Python 3 调用。您是如何安装 db 的?
  • 哦,这很奇怪,我刚刚看了烧瓶教程并跟着他们。
  • 语法 print "hello world" 来自 Python 2。您使用的是 Python 3,正确的语法是 print("hello world")。在您的models.py 文件中,您正在导入dbfrom db import dbdb library 不兼容 Python 3。也没有理由使用那个过时的库。
  • 好的,感谢您的帮助。在大多数教程中,我看到他们使用 import db 来导入数据库,

标签: python flask helper


【解决方案1】:

语法 print "hello world" 来自 Python 2。您使用的是 Python 3,正确的语法是 print("hello world")。在您的 models.py 文件中,您正在导入 db:from db import db。 db 库与 Python 3 不兼容。也没有理由使用那个过时的库

【讨论】:

    猜你喜欢
    • 2016-12-08
    • 1970-01-01
    • 2022-01-14
    • 2018-02-12
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    相关资源
    最近更新 更多