Flask-SQLAlchemy:更改 raspberryPie 的 SD 卡后“属性错误:无法设置属性”

问题描述

所以最近我使用 sqlAlchemy 启动了一个烧瓶项目,效果很好。当我的 SD 卡已满时,我想换一个更大的,所以我将代码复制到 USB 记忆棒上,更换卡并将我的项目复制到新卡上。现在每次我想对我的数据库做一些事情时我都会收到这个错误

Traceback (most recent call last):
  File "/home/pi/Documents/flask/venv/bin/flask",line 10,in <module>
    sys.exit(main())
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask/cli.py",line 967,in main
    cli.main(args=sys.argv[1:],prog_name="python -m flask" if as_module else None)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask/cli.py",line 586,in main
    return super(FlaskGroup,self).main(*args,**kwargs)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/click/core.py",line 782,in main
    rv = self.invoke(ctx)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/click/core.py",line 1259,in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/click/core.py",line 1066,in invoke
    return ctx.invoke(self.callback,**ctx.params)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/click/core.py",line 610,in invoke
    return callback(*args,**kwargs)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/click/decorators.py",line 21,in new_func
    return f(get_current_context(),*args,**kwargs)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask/cli.py",line 426,in decorator
    return __ctx.invoke(f,**kwargs)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask_migrate/cli.py",line 92,in migrate
    rev_id,x_arg)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask_migrate/__init__.py",line 96,in wrapped
    f(*args,**kwargs)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask_migrate/__init__.py",line 212,in migrate
    version_path=version_path,rev_id=rev_id)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/alembic/command.py",in revision
    script_directory.run_env()
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/alembic/script/base.py",line 490,in run_env
    util.load_python_file(self.dir,"env.py")
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/alembic/util/pyfiles.py",line 97,in load_python_file
    module = load_module_py(module_id,path)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/alembic/util/compat.py",line 182,in load_module_py
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>",line 728,in exec_module
  File "<frozen importlib._bootstrap>",line 219,in _call_with_frames_removed
  File "migrations/env.py",line 25,in <module>
    str(current_app.extensions['migrate'].db.engine.url).replace('%','%%'))
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py",line 943,in engine
    return self.get_engine()
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py",line 962,in get_engine
    return connector.get_engine()
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py",line 555,in get_engine
    options = self.get_options(sa_url,echo)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py",line 570,in get_options
    self._sa.apply_driver_hacks(self._app,sa_url,options)
  File "/home/pi/Documents/flask/venv/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py",line 914,in apply_driver_hacks
    sa_url.database = os.path.join(app.root_path,sa_url.database)
AttributeError: can't set attribute

我的项目代码中没有任何更改。

当我一无所获时,我开始了一个新项目,并按照 Flask Mega 教程 https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world 以完全相同的方式进行设置,直到第四步之后。 它仍然给出同样的错误,我无法找出它可能是什么问题。

奇怪的是:flask db init 工作正常,但之后 flask db migrate 抛出错误

感谢每一位帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...