【问题标题】:ImportError: cannot import name 'SQLALchemy' from 'flask_sqlalchemy' [duplicate]ImportError:无法从“flask_sqlalchemy”导入名称“SQLALchemy”[重复]
【发布时间】:2020-03-23 15:22:33
【问题描述】:

我正在运行一个简单的代码

from flask import Flask, render_template, url_for
from flask_sqlalchemy import SQLALchemy  
from datetime import datetime

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLALchemy(app)

class Todo(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.Integer, default = 0)
    data_created = db.Column(db.datetime, default=datetime.utcnow)

    def __repr__(self):
        return '<Task %r>' % self.id



@app.route("/")
def index():
    return render_template("index.html")

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

然后在终端输入这个

python app.py

但出现错误,我不知道这是什么原因。

ImportError: 无法从“flask_sqlalchemy”导入名称“SQLALchemy”

【问题讨论】:

  • 你有一个名为flask_alchemy.py的本地文件吗?将这些行添加到代码顶部并向我们展示输出:import flask_sqlalchemy; print (flask_sqlalchemy.__file__)
  • 你运行的是什么版本的python?在命令行输入python --version,你会得到什么?
  • 我使用 python 3.7.3
  • @JohnGordon 我把它作为输出 C:\Users(My User)\OneDrive\Documents\flask\env\lib\site-packages\flask_sqlalchemy_init_.py

标签: python flask sqlalchemy


【解决方案1】:

尝试以下解决方案。

如果您使用的是 python 3.x,则第 1 条不适用

  1. 您的问题没有完整的上下文,但我假设该文件 上面称为my_app/flask_alchemy.py 或类似的目录 不包含__init__.py 文件。 Python 需要该文件才能看到 目录作为可以从中导入的模块。添加一个空文件 叫my_app/__init__.py,问题应该解决了

  2. 看起来您的问题可能是由名为 flask_alchemy.py 在同一文件夹中。尝试删除/重命名 此文件,因为它的名称将与 真正的 sqlalchemy 模块...

编辑:

我认为这可能与您的安装方式有关。

尝试使用以下命令安装它:

pip3 install flask-sqlalchemy 

如果它不起作用,那么在两个命令的末尾尝试commands--user

pip3 install flask-sqlalchemy --user

【讨论】:

  • 1.不再适用于 python3。
  • 我在 env/lib/site-packages/ 中有 3 个文件夹——一个是 flask_sqlalchemy,另一个是 FLASK_SQLALchemy dist info,第三个是 sqlalchemy
  • 一切都不一样
  • 没有 --user 命令输出 == 要求已经满足
  • 带有 --user 命令输出 == 错误:无法执行“--user”安装。用户站点包在此 virtualenv 中不可见。
猜你喜欢
  • 1970-01-01
  • 2019-12-19
  • 2021-01-01
  • 2019-05-27
  • 2021-01-18
  • 1970-01-01
  • 1970-01-01
  • 2019-04-16
  • 2017-06-20
相关资源
最近更新 更多