Не могу запустить Сельдерея (Kombu.asynchronous.timer) - PullRequest
0 голосов
/ 24 мая 2018

Я следовал за первыми шагами с Сельдереем (Джанго) и пытался запустить тяжелый процесс в фоновом режиме.У меня установлен сервер RabbitMQ.Однако, когда я пытаюсь, celery -A my_app worker -l info выдает следующую ошибку

File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "c:\anaconda3\lib\site-packages\celery\concurrency\prefork.py", line 
18, in <module>
from celery.concurrency.base import BasePool
File "c:\anaconda3\lib\site-packages\celery\concurrency\base.py", line 15, 
in <module>
from celery.utils import timer2
File "c:\anaconda3\lib\site-packages\celery\utils\timer2.py", line 16, in 
<module>
from kombu.asynchronous.timer import Entry
ModuleNotFoundError: No module named 'kombu.asynchronous.timer'

Я много искал, но не могу заставить его работать.Любая помощь будет высоко оценена.Спасибо!

Ответы [ 5 ]

0 голосов
/ 12 июля 2019

Я работаю в Windows, поэтому у меня была небольшая проблема с этим.Но мое решение состояло в том, чтобы создать новую conda env с python 3.6.8 (как я понимаю, celery может работать на python 3.7, но у меня много проблем).Затем продолжите установку последних версий сельдерея (4.3.0) и Django (2.2.3), и после этого все работало нормально.

0 голосов
/ 12 июня 2018

Я только начал с сельдерея.Я следовал инструкциям и установил Celery v 4.2.0

, когда пытался запустить команду: celery -A mysite worker -l info Я получил ошибку:

ModuleNotFoundError: No module named 'kombu.asynchronous.timer

Я удалилУстановка сельдерея: pip uninstall celery

Впоследствии установил Celery 3.1.25, как рекомендовано "chuhy"

, но у него были некоторые другие проблемы, поэтому я немедленно удалил 3.1.25 и переустановилcelery v4.2.0.

После этого сценария ошибка больше не появлялась.

0 голосов
/ 25 мая 2018

TL; DR: удалить каталог kombu из корня вашего virtualenv (если он существует).Может произойти сбой только в Windows.

Кажется, это странно.Я обнаружил ту же ошибку и проверил, что происходит.

Пакет колеса, загружаемый pip, выглядит нормально (в нем существует файл kombu.asynchronous.timer).Релиз для последней версии (в настоящее время 4.2.0) также в порядке.Что было странно, так это то, что я обнаружил в своей установке virtualenv.

Я нашел каталог kombu в корне virtualenv, в котором есть содержимое библиотеки, но также есть каталог «async», наряду с «асинхронным».,Эти каталоги не из выпуска 4.2.0, так как async имеет файл timer.py, а асинхронный - нет.

Откуда он взялся?Похоже, что из каталога данных колеса.

Итак, решение: я удалил каталог kombu из корня моего virtualenv и сельдерей сработал.

0 голосов
/ 28 мая 2018

У меня та же проблема, но она решена при переустановке сельдерея с версией 3.1.25

pip uninstall celery && pip install celery==3.1.25

Возможно, потому что windows официально не поддерживается сельдереем 4 , https://github.com/celery/celery/issues/3551

0 голосов
/ 24 мая 2018

Я тестировал сельдерей на той же версии Python, что и у вас, и все в порядке.а также https://github.com/celery/kombu/blob/master/kombu/asynchronous/timer.py показывает, что случайное переименование не поможет вам.Возможно, вам следует попробовать pip uninstall kombu && pip --no-cache-dir install -U kombu, чтобы выполнить новую установку для kombu.Я думаю, что-то не так с вашей установкой.так что если переустановка kombu не сработала, попробуйте установить все заново.

...