2017-05-25 93 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