2017-04-02 17 views
0

我正在使用tcelery與Tornado異步運行任務。 ENV:OSX,Python3.4ImportError:無法導入名稱'TaskProducer'

這是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 (most recent call last): File "tornado_async.py", line 7, in import tcelery File "/Users/mohit/anaconda/envs/py34/lib/python3.4/site-packages/tcelery/init.py", line 8, in from .producer import NonBlockingTaskProducer File "/Users/mohit/anaconda/envs/py34/lib/python3.4/site-packages/tcelery/producer.py", line 10, in from celery.app.amqp import TaskProducer ImportError: cannot import name 'TaskProducer'

我怎樣才能解決這個問題? 謝謝

回答

0

你的龍捲風芹菜的版本太低,無法支持芹菜4.1。你可以通過「python setup.py install」來安裝龍捲風 - 芹菜。

相關問題