繁体   English   中英

从flask_sqlalchemy 中找不到模块导入SQLAlchemy

[英]module not found from flask_sqlalchemy import SQLAlchemy

使用带有 python 插件的 IntelliJ Ultimate 2019.1 但这对任何其他模块都没有问题(例如,下面的两个位置都显示了 Flask 等)。 通常我可以Install Package packagename将它添加到/usr/local/lib/python3.7/site-packages 我没有使用虚拟环境,因为我正在学习课程。

我已经使用pip3 install packagename安装并重新安装了pip3 install packagename和 flask- pip3 install packagename两者都显示在/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages

图书模型.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import json
from settings import app

db = SQLAlchemy(app)


class Book(db.Model):
    __tablename__ = "books"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)

设置.py

from flask import Flask

app = Flask(__name__)

app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:////Users/tomendacott/IdeaPython/BookApp/booksdb.db"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False

错误

/usr/local/bin/python3.7 /Users/u/IdeaPython/BookApp/BookModel.py
Traceback (most recent call last):
  File "/Users/u/IdeaPython/BookApp/BookModel.py", line 2, in <module>
    from flask_sqlalchemy import SQLAlchemy
ModuleNotFoundError: No module named 'flask_sqlalchemy'

OP跟进:
我可以让这个导入工作的唯一方法是手动将目录*从他们用pip3安装到/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/usr/local/lib/python3.7/site-packages

我意识到这不是理想的但它有效。 同样,没有像python当前新手并遵循教程的虚拟环境。

在此之后,我在创建数据库时遇到两个错误
sqlite3.OperationalError: unable to open database file
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file

这行在sqlite之后需要4个正斜杠(在sqlite中需要一个L)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:////Users/username/IdeaPython/BookApp/booksdb.db"

* flask_sqlalchemy
* Flask_SQLAlchemy-2.4.0.dist-info(当前时间)
* SQLAlchemy的
* SQLAlchemy-1.3.4.dist-info(当前时间)

这解决了我的问题。 根据pypy.org ,我使用了

pip install -U Flask-SQLAlchemy

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM