django 1.11与芹菜4.0和djcelery兼容性问题

chr*_*ris 3 django celery django-celery djcelery

我目前使用django 1.11,出于兼容性原因,我不得不使用旧版本的芹菜(3.1).

我想升级到芹菜4.0,因为我们的应用程序的另一部分需要更高版本的芹菜.

芹菜,django-celery和django 1.11的组合是否兼容?文档说芹菜4.0从1.8开始与所有版本的django兼容,但似乎并非如此.

例如,当我使用时出现错误:

python manage.py makemigrations <appname>
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误消息:

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
Run Code Online (Sandbox Code Playgroud)

如果我回到芹菜3.1,它的确有效.

Igo*_*ato 7

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

您正在使用django-celery,这是一个自芹菜3.1以来不再需要的库

以前的Celery版本需要一个单独的库来与Django一起工作,但是从3.1开始就不再是这样了.Django现在支持开箱即用......

djcelery从中删除INSTALLED_APPS,按照链接的文档查看是否有其他需要更新的内容,它应该可以正常工作.