Flask Ошибка генерирования Sqlalchemy при попытке импортировать переменную db в python cli - PullRequest
0 голосов
/ 21 марта 2020

Я даже не могу оторваться от земли с этим. Flask не мой первый фреймворк, но он для меня новый, так как прошло так много обновлений. Итак, моя проблема в том, что я сталкиваюсь с этой ошибкой, когда запускаю свой python файл в cli, чтобы импортировать переменную db для работы с ней с помощью sqlite.

>>> from __init__ import db
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\*myusername*\Desktop\*appname*\__init__.py", line 2, in <module>
    from sqlalchemy import SQLAlchemy
ImportError: cannot import name 'SQLAlchemy' from 'sqlalchemy' (C:\Users\*myusername*\Envs\*appname*\lib\site-packages\sqlalchemy\__init__.py)

Мой код указан в списке ниже, это не так много, но это все, что мне нравится после завершения моего проекта. Если у кого-то есть какие-либо указатели здесь, дайте мне знать. Я предполагаю, что это что-то простое (обычно это так), которое я просто упускаю.

from flask import Flask, render_template
from sqlalchemy import SQLAlchemy

app = Flask('*appname*')

# Database functionality

app.config['SQLALCHEMY_DATABASE_URI']= 'sqlite:///C:/Users/*myusername*/Desktop/*appname*/'

db = SQLAlchemy(app)

class usersTable(db.Model):
    userid = db.Column(db.Integer, primary_key=True)
    fname = db.Column(db.Text)
    lname = db.Column(db.Text)
    email = db.Column(db.LargeBinary)
    username = db.Column(db.LargeBinary)
    password = db.Column(db.LargeBinary)
    joined = db.Column(db.Date)

Заранее спасибо, ребята. Обычно мой бэкэнд-язык PHP, поэтому я разветвляюсь, и это действительно начинает действовать мне на нервы lol.

1 Ответ

2 голосов
/ 21 марта 2020

Сначала вам нужно установить библиотеку Flask -SQLAlchemy, используя: pip install flask-sqlalchemy

Затем импортируйте ее следующим образом: from flask_sqlalchemy import SQLAlchemy

Если вы хотите узнать больше, отметьте это минимальное приложение , используя flask -sqlalchemy.

...