Python 无法设置芹菜结果后端

Python 无法设置芹菜结果后端,python,redis,celery,Python,Redis,Celery,我的第一个芹菜项目是这样的——我基本上遵循以下原则: 试图通过backend='redis://'设置结果后端会在调用celery-A celery\u test worker--loglevel=info时导致以下语法错误,这看起来像是celery中的错误: [2019-01-21 12:58:59,457: CRITICAL/MainProcess] Unrecoverable error: SyntaxError('invalid syntax', ('/Users/cls/anacond

我的第一个芹菜项目是这样的——我基本上遵循以下原则:

试图通过
backend='redis://'
设置结果后端会在调用
celery-A celery\u test worker--loglevel=info
时导致以下语法错误,这看起来像是celery中的错误:

[2019-01-21 12:58:59,457: CRITICAL/MainProcess] Unrecoverable error: SyntaxError('invalid syntax', ('/Users/cls/anaconda3/lib/python3.7/site-packages/celery/backends/redis.py', 22, 19, 'from . import async, base\n'))
Traceback (most recent call last):
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/kombu/utils/objects.py", line 42, in __get__
    return obj.__dict__[self.__name__]
KeyError: 'backend'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/worker/worker.py", line 205, in start
    self.blueprint.start(self)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/bootsteps.py", line 115, in start
    self.on_start()
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/apps/worker.py", line 139, in on_start
    self.emit_banner()
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/apps/worker.py", line 154, in emit_banner
    ' \n', self.startup_info(artlines=not use_image))),
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/apps/worker.py", line 217, in startup_info
    results=self.app.backend.as_uri(),
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/kombu/utils/objects.py", line 44, in __get__
    value = obj.__dict__[self.__name__] = self.__get(obj)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/base.py", line 1196, in backend
    return self._get_backend()
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/base.py", line 914, in _get_backend
    self.loader)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/backends.py", line 70, in by_url
    return by_name(backend, loader), url
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/backends.py", line 50, in by_name
    cls = symbol_by_name(backend, aliases)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/kombu/utils/imports.py", line 56, in symbol_by_name
    module = imp(module_name, package=package, **kwargs)
  File "/Users/cls/anaconda3/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 724, in exec_module
  File "<frozen importlib._bootstrap_external>", line 860, in get_code
  File "<frozen importlib._bootstrap_external>", line 791, in source_to_code
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/backends/redis.py", line 22
    from . import async, base
                      ^
SyntaxError: invalid syntax
[2019-01-21 12:58:59457:CRITICAL/MainProcess]不可恢复的错误:SyntaxError(“无效语法”)(“/Users/cls/anaconda3/lib/python3.7/site packages/芹菜/backends/redis.py”,22,19,“from.import async,base\n”))
回溯(最近一次呼叫最后一次):
文件“/Users/cls/anaconda3/lib/python3.7/site packages/kombu/utils/objects.py”,第42行,在__
返回对象名称
KeyError:“后端”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/Users/cls/anaconda3/lib/python3.7/site packages/芹菜/worker/worker.py”,第205行,在开始处
self.blueprint.start(self)
文件“/Users/cls/anaconda3/lib/python3.7/site packages/芹菜/bootsteps.py”,第115行,在开始处
self.on_start()
文件“/Users/cls/anaconda3/lib/python3.7/site packages/cellery/apps/worker.py”,第139行,在on_start中
self.emit_banner()
文件“/Users/cls/anaconda3/lib/python3.7/site packages/芹菜/apps/worker.py”,第154行,在emit_横幅中
“\n”,self.startup\u info(艺术线=不使用\u图像)),
文件“/Users/cls/anaconda3/lib/python3.7/site packages/芹菜/apps/worker.py”,第217行,在启动信息中
结果=self.app.backend.as_uri(),
文件“/Users/cls/anaconda3/lib/python3.7/site packages/kombu/utils/objects.py”,第44行,在__
value=obj.\uuuu dict\uuuu[self.\uuuuuu name\uuuuu]=self.\uuuuu get(obj)
后端中的文件“/Users/cls/anaconda3/lib/python3.7/site packages/芹菜/app/base.py”,第1196行
返回self.\u获取\u后端()
文件“/Users/cls/anaconda3/lib/python3.7/site-packages/芹菜/app/base.py”,第914行,位于“获取”后端
自动装载机)
文件“/Users/cls/anaconda3/lib/python3.7/site packages/芹菜/app/backends.py”,第70行,按url
按名称(后端、加载程序)、url返回
文件“/Users/cls/anaconda3/lib/python3.7/site packages/cellery/app/backends.py”,第50行,以by_的名义
cls=符号按名称(后端、别名)
文件“/Users/cls/anaconda3/lib/python3.7/site-packages/kombu/utils/imports.py”,第56行,符号为
模块=imp(模块名称,包=包,**kwargs)
文件“/Users/cls/anaconda3/lib/python3.7/importlib/_init__.py”,第127行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第1006行,在\u gcd\u导入中
文件“”,第983行,在_find_和_load中
文件“”,第967行,在“查找”和“加载”中解锁
文件“”,第677行,在\u加载\u解锁
exec_模块中第724行的文件“”
文件“”,第860行,get_代码
文件“”,第791行,源代码为
文件“”,第219行,在“调用”中,删除了“帧”
文件“/Users/cls/anaconda3/lib/python3.7/site packages/芹菜/backends/redis.py”,第22行
从…起导入异步,基本
^
SyntaxError:无效语法

我想确认这确实是一个bug,而不是我的配置问题。另外,我更愿意开始异步编程,而不是编写错误报告,因此希望有一个变通方法。

芹菜似乎还不能在python 3.7中工作,只有python 3.6或更低版本。您可以在

async是一个关键字,PEP是从2015年开始的,适用于3.5版。芹菜项目是被放弃了还是怎么了?一年来,我显然低估了这一重构步骤的复杂性无论如何,谢谢你的澄清。
[2019-01-21 12:58:59,457: CRITICAL/MainProcess] Unrecoverable error: SyntaxError('invalid syntax', ('/Users/cls/anaconda3/lib/python3.7/site-packages/celery/backends/redis.py', 22, 19, 'from . import async, base\n'))
Traceback (most recent call last):
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/kombu/utils/objects.py", line 42, in __get__
    return obj.__dict__[self.__name__]
KeyError: 'backend'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/worker/worker.py", line 205, in start
    self.blueprint.start(self)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/bootsteps.py", line 115, in start
    self.on_start()
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/apps/worker.py", line 139, in on_start
    self.emit_banner()
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/apps/worker.py", line 154, in emit_banner
    ' \n', self.startup_info(artlines=not use_image))),
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/apps/worker.py", line 217, in startup_info
    results=self.app.backend.as_uri(),
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/kombu/utils/objects.py", line 44, in __get__
    value = obj.__dict__[self.__name__] = self.__get(obj)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/base.py", line 1196, in backend
    return self._get_backend()
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/base.py", line 914, in _get_backend
    self.loader)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/backends.py", line 70, in by_url
    return by_name(backend, loader), url
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/app/backends.py", line 50, in by_name
    cls = symbol_by_name(backend, aliases)
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/kombu/utils/imports.py", line 56, in symbol_by_name
    module = imp(module_name, package=package, **kwargs)
  File "/Users/cls/anaconda3/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 724, in exec_module
  File "<frozen importlib._bootstrap_external>", line 860, in get_code
  File "<frozen importlib._bootstrap_external>", line 791, in source_to_code
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/cls/anaconda3/lib/python3.7/site-packages/celery/backends/redis.py", line 22
    from . import async, base
                      ^
SyntaxError: invalid syntax