簡體   English   中英

Django 1.11與celery 4.0和djcelery的兼容性問題

[英]django 1.11 with celery 4.0 and djcelery compatibility issues

我當前使用的是django 1.11,出於兼容性原因,我不得不使用較舊版本的celery(3.1)。

我想升級到celery 4.0,因為我們應用程序的另一部分需要更高版本的celery。

是否有兼容的celery,django-celery和django 1.11的組合? 文檔說celery 4.0從1.8開始與django的所有版本兼容,但是事實並非如此。

例如,當我使用時發生錯誤:

python manage.py makemigrations <appname>

這是我收到的錯誤消息:

Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 337, in execute
django.setup()
File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate
app_config.import_models()
File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 202, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/lib/python2.7/dist-packages/djcelery/models.py", line 16, in <module>
from . import managers
File "/usr/local/lib/python2.7/dist-packages/djcelery/managers.py", line 18, in <module>
from celery.utils.timeutils import maybe_timedelta
ImportError: No module named timeutils

如果我恢復到celery 3.1,則可以使用。

...文件“ /usr/local/lib/python2.7/dist-packages/ djcelery /managers.py”,第18行,在...

您正在使用django-celery ,這是自celery 3.1以來不再需要的庫

以前版本的Celery需要一個單獨的庫才能與Django一起使用,但是從3.1開始,情況不再如此。 現已支持Django開箱即用...

INSTALLED_APPS刪除djcelery ,然后按照鏈接的文檔查看是否還有其他需要更新的地方並且應該可以更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM