Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x “我在扔东西”;属性错误:can';t集属性";_Python 3.x_Flask_Flask Sqlalchemy_Flask Migrate - Fatal编程技术网

Python 3.x “我在扔东西”;属性错误:can';t集属性";

Python 3.x “我在扔东西”;属性错误:can';t集属性";,python-3.x,flask,flask-sqlalchemy,flask-migrate,Python 3.x,Flask,Flask Sqlalchemy,Flask Migrate,我正在学习flask mega教程,我目前正在尝试运行“flask db migrate”命令,但我遇到了一些错误,我不确定我是否愚蠢地看到了它,但它实际上并没有引用我的任何文件 Traceback (most recent call last): File "/home/moe/cryptowatch/venv/bin/flask", line 8, in <module> sys.exit(main()) File "/home/mo

我正在学习flask mega教程,我目前正在尝试运行“flask db migrate”命令,但我遇到了一些错误,我不确定我是否愚蠢地看到了它,但它实际上并没有引用我的任何文件

Traceback (most recent call last):
  File "/home/moe/cryptowatch/venv/bin/flask", line 8, in <module>
    sys.exit(main())
  File "/home/moe/cryptowatch/venv/lib/python3.8/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/moe/cryptowatch/venv/lib/python3.8/site-packages/flask/cli.py", line 586, in main
    return super(FlaskGroup, self).main(*args, **kwargs)
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask/cli.py", line 426, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask_migrate/cli.py", line 91, in migrate
    _migrate(directory, message, sql, head, splice, branch_label, version_path,
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask_migrate/__init__.py", line 96, in wrapped
    f(*args, **kwargs)
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask_migrate/__init__.py", line 210, in migrate
    command.revision(config, message, autogenerate=True, sql=sql,
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/alembic/command.py", line 212, in revision
    script_directory.run_env()
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/alembic/script/base.py", line 490, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/alembic/util/pyfiles.py", line 97, in load_python_file
    module = load_module_py(module_id, path)
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/alembic/util/compat.py", line 182, in load_module_py
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 783, 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/moe/cryptowatch/venv/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 943, in engine
    return self.get_engine()
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 962, in get_engine
    return connector.get_engine()
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 555, in get_engine
    options = self.get_options(sa_url, echo)
  File "/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 570, in get_options
    self._sa.apply_driver_hacks(self._app, sa_url, options)
  File "/home/moe/cryptowatch/venv/lib/python3.8/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
回溯(最近一次呼叫最后一次):
文件“/home/moe/cryptowatch/venv/bin/flask”,第8行,in
sys.exit(main())
文件“/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask/cli.py”,第967行,主文件
cli.main(args=sys.argv[1:],prog_name=“python-m flask”如果as_模块else无)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/flask/cli.py”,第586行,主目录
返回超级(烧瓶组,自身)。主(*args,**kwargs)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/click/core.py”,第782行,在main中
rv=自调用(ctx)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/click/core.py”,调用中的第1259行
返回进程结果(sub_ctx.command.invoke(sub_ctx))
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/click/core.py”,调用中的第1259行
返回进程结果(sub_ctx.command.invoke(sub_ctx))
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/click/core.py”,调用中的第1066行
返回ctx.invoke(self.callback,**ctx.params)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/click/core.py”,调用中第610行
返回回调(*args,**kwargs)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/click/decorators.py”,第21行,在新函数中
返回f(获取当前上下文(),*args,**kwargs)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/flask/cli.py”,第426行,在decorator中
return _ctx.invoke(f,*args,**kwargs)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/click/core.py”,调用中第610行
返回回调(*args,**kwargs)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/flask_migrate/cli.py”,第91行,在migrate中
_迁移(目录、消息、sql、头、拼接、分支标签、版本路径、,
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/flask_migrate/_init__.py”,第96行,包装
f(*args,**kwargs)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/flask_migrate/_init__.py”,第210行,在migrate中
command.revision(配置,消息,autogenerate=True,sql=sql,
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/alembic/command.py”,第212行,修订版
脚本\目录。运行\环境()
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/alembic/script/base.py”,第490行,运行环境中
加载python文件(self.dir,“env.py”)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/alembic/util/pyfiles.py”,第97行,在load\u python\u文件中
模块=加载模块(模块id,路径)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/alembic/util/compat.py”,第182行,加载模块
规格加载器执行模块(模块)
exec_模块中第783行的文件“”
文件“”,第219行,在“调用”中,删除了“帧”
文件“migrations/env.py”,第25行,在
str(当前应用程序扩展['migrate'].db.engine.url).replace('%','%'))
文件“/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask\u-sqlalchemy/\u_-init\u_.py”,第943行,在引擎中
返回self.get_引擎()
文件“/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask\u-sqlalchemy/\u_-init\u___;.py”,第962行,在get\u引擎中
返回连接器。获取引擎()
文件“/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask\u-sqlalchemy/\u_-init\u__uuuu.py”,第555行,在get\u引擎中
options=self.get_选项(sa_url,echo)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site-packages/flask\u-sqlalchemy/\u_-init\u__;.py”,第570行,在get\u选项中
self.\u sa.apply\u driver\u hacks(self.\u应用程序、sa\u url、选项)
文件“/home/moe/cryptowatch/venv/lib/python3.8/site packages/flask\u sqlalchemy/\u__init\u_.py”,第914行,在apply\u driver\u hacks中
sa_url.database=os.path.join(app.root_path,sa_url.database)
AttributeError:无法设置属性
有关详细信息,请参阅。如果您有1.4.0版的sqlalchemy,请卸载它并安装以前的版本

如果您的代码是正确的,那么应该可以解决问题