首页 文章

ImportError:无法导入名称'TaskProducer'

提问于
浏览
0

我正在使用tcelery与Tornado异步运行任务 . 环境:OSX,Python3.4

这是 server.py

from tornado import gen
from tornado import ioloop
from tornado.web import asynchronous, RequestHandler, Application

import tasks

import tcelery
tcelery.setup_nonblocking_producer()


class GenAsyncHandler(RequestHandler):
    @asynchronous
    @gen.coroutine
    def get(self):
        response = yield gen.Task(tasks.sleep.apply_async, args=[3])
        self.write(str(response.result))
        self.finish()

application = Application([
    (r"/gen-async-sleep", GenAsyncHandler)
])


if __name__ == "__main__":
    application.listen(8887)
    ioloop.IOLoop.instance().start()

当我运行服务器文件时,这是返回的错误跟踪:

Traceback(最近一次调用最后一次):文件“tornado_async.py”,第7行,在导入tcelery文件“/Users/mohit/anaconda/envs/py34/lib/python3.4/site-packages/tcelery/init.py “,第8行,来自.producer import NonBlockingTaskProducer文件”/Users/mohit/anaconda/envs/py34/lib/python3.4/site-packages/tcelery/producer.py“,第10行,来自celery.app . amqp import TaskProducer ImportError:无法导入名称'TaskProducer'

我怎样才能解决这个问题?谢谢

1 回答

  • 0

    您的龙卷风芹菜的版本太低,无法支持芹菜-4.1 . 您可以通过“python setup.py install”安装tornado-celery .

相关问题