2016-01-08 3 views
4

Я запускаю приложение с django, и я хотел использовать сельдерей для выполнения некоторых запланированных задач.Сельдерей, комбу и django - ошибка импорта

Согласно oficial docs, в моем файле settings.py я установил брокер транспорт

BROKER_URL = 'django://' 

и добавил kombu.transport.django для установленных приложений

INSTALLED_APPS = (
    .... 
    'kombu.transport.django', 
    ....) 

Однако, когда я пытаюсь синхронизировать базу данных, с python manage.py syncdb, я получаю следующую ошибку:

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 312, in execute 
    django.setup() 
    File "C:\Python27\lib\site-packages\django\__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "C:\Python27\lib\site-packages\django\apps\registry.py", line 85, in populate 
    app_config = AppConfig.create(entry) 
    File "C:\Python27\lib\site-packages\django\apps\config.py", line 119, in create 
    import_module(entry) 
    File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module 
    __import__(name) 
ImportError: No module named django 

Любые идеи, почему я получаю это? У меня установлен django правильно, и приложение работает нормально, если я удаляю kombu.transport.django из установленных приложений.

Редактировать: похоже, это проблема с комбу. Я установил его с pip install kombu. Когда я пытаюсь импортировать в файл «kombu.transport» я не получаю никаких ошибок, но когда я пытаюсь импортировать «kombu.transport.django» Я получаю ERRO:

ImportError: No module named django 
+0

вы установили комбу? 'pip install kombu' –

+0

Да, он установлен –

ответ

6

Хотя это могло произойти после того, как ваш пост, модуль django был определенно удален из пакета комбу. Текущая документация для сельдерея гласит, что с версии 3.1 сельдерей работает с Django «из коробки». Это означает, что вам не нужно изменять параметры settings.py для интеграции сельдерея (поэтому не включайте ссылки на комбу).

Удаление ссылок на kombu в settings.py является правильным решением.

Это коммита: https://github.com/celery/kombu/commit/65f982ccf31b86157c39a8feb42081410b83abe2

Смежные вопросы