我正在使用django运行应用程序,我想使用芹菜来完成一些计划任务。
根据oficial docs,在我的settings.py文件中,我设置了代理传输
BROKER_URL = 'django://'
并将kombu.transport.django添加到已安装的应用
INSTALLED_APPS = (
....
'kombu.transport.django',
....)
但是,当我尝试使用python manage.py syncdb
同步数据库时,我收到以下错误:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 338, in execute_from_command_line
utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 312, in execute
django.setup()
File "C:\Python27\lib\site-packages\django\__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Python27\lib\site-packages\django\apps\registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "C:\Python27\lib\site-packages\django\apps\config.py", line 119, in create
import_module(entry)
File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named django
任何想法为什么我得到这个?我已正确安装django,如果从已安装的应用程序中删除kombu.transport.django
,应用程序运行正常。
编辑:这似乎是kombu的一个问题。我用pip install kombu
安装了它。当我尝试导入文件时,kombu.transport&#39;我没有错误,但当我尝试导入&#39; kombu.transport.django&#39;我得到一个错误:
ImportError: No module named django
答案 0 :(得分:9)
虽然它可能发生在你的帖子后,django模块肯定是从kombu包中删除的。芹菜的当前文档指出,从版本3.1开始,芹菜与Django一起开箱即用#39;。这意味着你不必修改settings.py来整合芹菜(所以不要包括对kombu的引用)。
在settings.py中删除对kombu的引用是正确的解决方案。
这是提交:https://github.com/celery/kombu/commit/65f982ccf31b86157c39a8feb42081410b83abe2
答案 1 :(得分:0)
最新芹菜已删除了对django作为经纪人的支持。他们更喜欢redis,rabbitmq作为他们的首选经纪人。