Python 属性错误:';模块';对象没有属性';芹菜';

Python 属性错误:';模块';对象没有属性';芹菜';,python,python-2.7,celery,Python,Python 2.7,Celery,我正在阅读芹菜文档v:latest 我安装了所有的依赖项,我的芹菜版本是3.0.11 我创建了一个文件tasks.py并粘贴了代码: from celery import Celery app = Celery('tasks', broker='amqp://guest@localhost//') @app.task def add(x, y): return x + y 当我在同一目录中运行下一个命令时: celery -A tasks worker --loglevel=inf

我正在阅读芹菜文档
v:latest
我安装了所有的依赖项,我的芹菜版本是3.0.11 我创建了一个文件tasks.py并粘贴了代码:

from celery import Celery

app = Celery('tasks', broker='amqp://guest@localhost//')

@app.task
def add(x, y):
    return x + y
当我在同一目录中运行下一个命令时:

celery -A tasks worker --loglevel=info
我得到这个错误'AttributeError:'module'对象没有属性'celery'

我得到了一些类似的问题,但这并没有帮助我。。。 有人知道吗? 这是回溯

Traceback (most recent call last):
  File "/home/nishant-un/env/bin/celery", line 9, in <module>
    load_entry_point('celery==3.0.11', 'console_scripts', 'celery')()
  File "/home/nishant-un/env/local/lib/python2.7/site-packages/celery/__main__.py", line 14, in main
    main()
  File "/home/nishant-un/env/local/lib/python2.7/site-packages/celery/bin/celery.py", line 946, in main
    cmd.execute_from_commandline(argv)
  File "/home/nishant-un/env/local/lib/python2.7/site-packages/celery/bin/celery.py", line 890, in execute_from_commandline
    super(CeleryCommand, self).execute_from_commandline(argv)))
  File "/home/nishant-un/env/local/lib/python2.7/site-packages/celery/bin/base.py", line 177, in execute_from_commandline
    argv = self.setup_app_from_commandline(argv)
  File "/home/nishant-un/env/local/lib/python2.7/site-packages/celery/bin/base.py", line 295, in setup_app_from_commandline
    self.app = self.find_app(app)
  File "/home/nishant-un/env/local/lib/python2.7/site-packages/celery/bin/base.py", line 313, in find_app
    return sym.celery
AttributeError: 'module' object has no attribute 'celery'
回溯(最近一次呼叫最后一次):
文件“/home/nishant un/env/bin/芹菜”,第9行,in
加载入口点(“芹菜==3.0.11”,“控制台脚本”,“芹菜”)()
文件“/home/nishant un/env/local/lib/python2.7/site packages/cellery/_______.py”,第14行,在main中
main()
文件“/home/nishant-un/env/local/lib/python2.7/site-packages/芹菜/bin/芹菜.py”,第946行,主目录
cmd.从命令行(argv)执行命令
文件“/home/nishant un/env/local/lib/python2.7/site packages/celery/bin/celery.py”,第890行,在execute_from_命令行中
超级(CeleryCommand,self)。从命令行(argv)执行命令)
文件“/home/nishant un/env/local/lib/python2.7/site packages/芹菜/bin/base.py”,第177行,在执行命令行中
argv=self.setup\u app\u from\u命令行(argv)
文件“/home/nishant un/env/local/lib/python2.7/site packages/芹菜/bin/base.py”,第295行,位于命令行的setup\u app\u中
self.app=self.find_应用程序(app)
文件“/home/nishant un/env/local/lib/python2.7/site packages/芹菜/bin/base.py”,第313行,在find_应用程序中
回归西芹
AttributeError:“模块”对象没有属性“芹菜”

尝试将代码替换为

celery = Celery('tasks', broker='amqp://guest@localhost//')

@celery.task
def add(x, y):
    return x + y

从项目的根目录运行以下命令,修复了此问题:

celery -A my_app.tasks worker --loglevel=info

芹菜需要到
tasks.py
文件的路径。

在哪一行获得
AttributeError
?你能提供一个完整的回溯吗?我已经更新了回溯。你为什么使用3.0.11?似乎您正在使用芹菜3.1中的示例。您始终可以指定应用程序的完整路径,在您的示例中是:
-A tasks:app
这意味着与python模块中tasks import app中的
相同,并告诉芹菜命令在何处找到要使用的实例,快捷方式表单在您使用的版本(3.0.11)中不是这样工作的我这样做了,但在它开始后我又遇到了另一个错误:我将它粘贴到了中间,因为它太长了<代码>[2013-11-17 17:21:47020:ERROR/MainProcess]收到类型为“task.messagecleaner.clean_message”的未注册任务。该消息已被忽略和丢弃。您是否记得导入包含此任务的模块?或者您使用的是相对导入?请看http://bit.ly/gLye1c 更多信息。
回溯(最近一次调用):文件“/home/nishant un/env/local/lib/python2.7/site packages/芹菜/worker/consumer.py”,第432行,在on_task_received strategies[名称](消息,正文,消息.ack_log_错误)KeyError:'task.messagecleaner.clean_message'
@NishantKashyap运行
task.add()
task时是否会出现此错误?您的版本很旧,应升级到3.1以扩展asksol的有用注释,3.1之前的芹菜版本似乎要求芹菜实例准确命名为“芹菜”,OP的错误就是这个结果。这似乎在芹菜3.1中已经更改,所以无论您如何称呼芹菜实例都无关紧要。谢谢这也帮助了我:)