Flask + Celery + Docker 组合错误:AttributeError:'cached_property'对象没有属性'lock'

问题描述 投票:0回答:1

我正在尝试遵循下面的教程,但遇到了“docker compose up”的问题。我不知道为什么我收到“AttributeError:'cached_property'对象没有属性'lock'”的第一条线索有人能在这里指导我吗?我一直在互联网上搜索,但到目前为止,我发现没有任何东西真正为我提供了很多方向。

教程:https://www.youtube.com/watch?v=2j3em0QQaMg 教程 Github:https://github.com/PrettyPrinted/youtube_video_code/tree/master/2023/01/27/An%20Example%20of%20Celery%20in%20a%20Flask%20App%20With%20Multiple%20Files

Web1 代码1: 回溯(最近一次调用最后一次):

File "/usr/local/bin/flask", line 8, in <module>
   sys.exit(main())
            ^^^^^^
 File "/usr/local/lib/python3.12/site-packages/flask/cli.py", line 1064, in main
   cli.main()
 File "/usr/local/lib/python3.12/site-packages/click/core.py", line 1078, in main
   rv = self.invoke(ctx)
        ^^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/click/core.py", line 1688, in invoke
   return _process_result(sub_ctx.command.invoke(sub_ctx))
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
   return ctx.invoke(self.callback, **ctx.params)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/click/core.py", line 783, in invoke
   return __callback(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/click/decorators.py", line 92, in new_func
   return ctx.invoke(f, obj, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/click/core.py", line 783, in invoke
   return __callback(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/flask/cli.py", line 912, in run_command
   raise e from None
 File "/usr/local/lib/python3.12/site-packages/flask/cli.py", line 898, in run_command
   app = info.load_app()
         ^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/flask/cli.py", line 309, in load_app
   app = locate_app(import_name, name)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/flask/cli.py", line 219, in locate_app
   __import__(module_name)
 File "/app/run.py", line 3, in <module>
   app, celery = create_app()
                 ^^^^^^^^^^^^
 File "/app/project/__init__.py", line 16, in create_app
   celery = make_celery(app)
            ^^^^^^^^^^^^^^^^
 File "/app/project/utils.py", line 12, in make_celery
   celery.Task = ContextTask
   ^^^^^^^^^^^
 File "/usr/local/lib/python3.12/site-packages/kombu/utils/objects.py", line 37, in __set__
   with self.lock:
        ^^^^^^^^^

AttributeError:'cached_property'对象没有属性'lock'

Celery1 代码 2: 用法:芹菜 [选项] 命令 [参数]... 尝试“celery --help”寻求帮助。

错误:“-A”/“--app”的值无效: 无法加载 celery 应用程序。 “cached_property”对象没有属性“lock” 退出并显示代码 2

我搜索了 Stackoverflow 和其他帮助网站,但我找到的任何答案似乎都不足以让我深入了解解决方案。

python-3.x docker flask redis celery
1个回答
0
投票

这是 python 3.12 上的已知问题,请参阅: https://github.com/celery/kombu/issues/1804

© www.soinside.com 2019 - 2024. All rights reserved.