在學(xué)習(xí) Flask 教程時,我偶然發(fā)現(xiàn)了這個非常奇怪的問題!在設(shè)置Migrate 目錄時,在使用設(shè)置 Flask 應(yīng)用程序的第一步之后set FLASK_APP=sql1.py,當(dāng)我運(yùn)行此命令時,flask db init出現(xiàn)此錯誤:我在運(yùn)行 .py 腳本時也遇到了完全相同的錯誤,腳本如下:from flask import Flaskimport osfrom flask_sqlalchemy import SQLAlchemy from flask_migrate import Migratebasedir = os.path.abspath(os.path.dirname(__file__)) #Full directory path of the file I'm working with..here, sql1.pyapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'data.sqlite')app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app)Migrate(app,db) #Here it connect the application "app.py" # with the database "db" class puppy(db.Model): __tablename__ = 'Name Provided by me!!' id = db.Column(db.Integer,primary_key = True) name = db.Column(db.Text) age = db.Column(db.Integer) def __init__(self,name,age): self.name = name self.age = age def __repr__(self): return f"puppy {self.name} is {self.age} year/s old!"我研究了我找到的每個解決方案(這里和這個)并確保一切都是正確的!當(dāng)我的環(huán)境被激活時,我運(yùn)行了這個命令,它已經(jīng)安裝了所需的每個包,包括SQLAlchemy 和 Flask-Migrate。我什至刪除了它們(軟件包)并重新安裝了它們的最新版本,但仍然遇到相同的錯誤!我正在使用Python 3.8.5
3 回答

元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗 獲得超7個贊
您有一些太舊且與 Python 3.8 不兼容的依賴項。至少,您應(yīng)該更新軟件包mako
:
pip install --upgrade mako

暮色呼如
TA貢獻(xiàn)1853條經(jīng)驗 獲得超9個贊
我遇到了類似的問題,flask_sqlalchemy
即使在這樣做之后我也遇到了問題,我也必須更新。我最終不得不創(chuàng)建一個新的虛擬環(huán)境,我會在另一個虛擬環(huán)境上創(chuàng)建一個小型的 hello world 項目,看看是否有效。

慕森王
TA貢獻(xiàn)1777條經(jīng)驗 獲得超3個贊
對我來說,它給出了同樣的錯誤,所以我__init__.py
從包含的文件夾中刪除了文件app.py
刪除后我運(yùn)行了
flask init db
有效 :)
添加回答
舉報
0/150
提交
取消