从flask_sqlalchemy找不到模块导入SQLAlchemy

时间:2019-06-07 15:55:46

标签: python python-3.x macos sqlalchemy flask-sqlalchemy

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

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

BookModel.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)

settings.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'

1 个答案:

答案 0 :(得分:0)

OP跟进:
我可以执行此导入的唯一方法是手动将目录*从使用/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages中的pip3安装的目录复制到/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(当前时间)