2017-05-25 29 views
1

我目前使用django 1.11,为了兼容性的原因,我不得不使用旧版本的芹菜(3.1)。django 1.11与芹菜4.0和djcelery兼容性问题

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

芹菜,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 

如果我恢复到3.1芹菜,它的工作原理,当我使用

错误发生,例如。

+0

我非常怀疑Celery 4和Django 1.11之间有* in *兼容性。是什么让你觉得呢?你遇到的是什么不兼容? –

+0

添加了错误追溯。好奇为什么downvote? – chris

回答

4

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

你是使用django-celery,图书馆是no longer required since celery 3.1

上芹菜的版本需要一个单独的库 Django的工作,但由于3.1这不再是这种情况。 Django的支持 了现在的盒子......

INSTALLED_APPS删除djcelery,按照链接的文档,看看别的需要更新,它应该工作。

+0

谢谢,这似乎已经做到了! – chris