2015-04-28 33 views
4

我試圖使用Django設置芹菜。我也跟着指南:芹菜導入錯誤:沒有模塊名爲凸出

項目/工程/ celery.py:

from __future__ import absolute_import 

import os 

from celery import Celery 

from django.conf import settings 

# set the default Django settings module for the 'celery' program. 
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings') 

app = Celery('proj') 

# Using a string here means the worker will not have to 
# pickle the object when using Windows. 
app.config_from_object('django.conf:settings') 
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) 

然後...

project/project/__init__.py: 


from __future__ import absolute_import 

# This will make sure the app is always imported when 
# Django starts so that shared_task will use this app. 
from .celery import app as celery_app 

項目/應用/測試/ tasks.py

from __future__ import absolute_import 

from celery import shared_task 


@shared_task 
def add(x, y): 
    return x + y 

然後運行:

celery -A proj worker -l info

這給錯誤:

File "/Users/user/Documents/workspace/test-api/env/lib/python2.7/site-packages/kombu/utils/__init__.py", line 92, in symbol_by_name 
    module = imp(module_name, package=package, **kwargs) 
    File "/Users/user/Documents/workspace/test-api/env/lib/python2.7/site-packages/celery/utils/imports.py", line 101, in import_from_cwd 
    return imp(module, package=package) 
    File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
ImportError: No module named proj 

回答

11

您的項目被命名爲project,不proj。您應該使用在整個這個名字。

4

我只想說,如果你有正確命名的一切,你仍然有模塊未找到錯誤(我花了幾個小時試圖弄清楚這一點)......然後,你必須將命令「芹菜-A PROJ工人-l信息」上面的應用程序分支

‘芹菜程序可用於啓動工作(你需要運行在上面凸出的目錄工人):’按照該文檔

+0

是啊,一切celery-相關始終保證給我頭疼。你得佩服它得到執行,但是孩子是一件很痛苦的總是追逐的配置問題。 –

相關問題