首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >celery错误:'module‘对象没有'celery’属性

celery错误:'module‘对象没有'celery’属性
EN

Stack Overflow用户
提问于 2017-08-21 14:03:56
回答 2查看 3.4K关注 0票数 2

我尝试使用下面的命令启动芹菜:

代码语言:javascript
复制
celery -A converter worker --loglevel=info

但它不起作用。我的converter.py是:

代码语言:javascript
复制
from __future__ import absolute_import, unicode_literals
from celery.task import task

@task
def ffmpeg_convert(input_file, bitrate):
    #do something

和我的celery.py:

代码语言:javascript
复制
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.base')

app = Celery('converter')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.conf.broker_url = 'redis://localhost:6379/0'
app.autodiscover_tasks()


@app.task(bind=True)
def debug_task(self):
    print('Request: {0!r}'.format(self.request))

但我得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/usr/local/bin/celery", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/celery/__main__.py", line 14, in main
_main()
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/celery.py", line 326, in main
    cmd.execute_from_commandline(argv)
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/celery.py", line 488, in execute_from_commandline
    super(CeleryCommand, self).execute_from_commandline(argv)))
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 279, in execute_from_commandline
    argv = self.setup_app_from_commandline(argv)
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 481, in setup_app_from_commandline
    self.app = self.find_app(app)
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 503, in find_app
    return find_app(app, symbol_by_name=self.symbol_by_name)
  File "/usr/local/lib/python2.7/dist-packages/celery/app/utils.py", line 366, in find_app
    found = sym.celery
AttributeError: 'module' object has no attribute 'celery'

有人知道吗?谢谢你的帮助

EN

回答 2

Stack Overflow用户

发布于 2018-04-04 18:33:41

我也遇到过类似的问题,我想问题可能出在你运行celery -A proj worker --loglevel=info的地方。

如果你有像这样的项目结构

代码语言:javascript
复制
directory
--virtualenv/
--proj/
----manage.py
----requirements.txt
----proj/
------settings.py
------celery.py

您需要从--proj/运行该命令

票数 9
EN

Stack Overflow用户

发布于 2017-08-21 14:47:50

看起来你的celery.py文件隐藏了芹菜包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45790219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档