我正在用django运行一个应用程序,我想用芹菜来做一些预定的任务.
根据官方文档,在我的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, inexecute_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'时,我没有错误,但当我尝试导入'kombu.transport.django'时,我得到一个错误:
ImportError: No module named django
nmgeek.. 9
虽然它可能发生在你的帖子后,django模块肯定是从kombu包中删除.目前芹菜文档指出,从版本3.1开始,芹菜与Django一起开箱即用.这意味着您不必修改settings.py来集成芹菜(因此不要包含对kombu的引用).
在settings.py中删除对kombu的引用是正确的解决方案.
这是提交:https://github.com/celery/kombu/commit/65f982ccf31b86157c39a8feb42081410b83abe2
虽然它可能发生在你的帖子后,django模块肯定是从kombu包中删除.目前芹菜文档指出,从版本3.1开始,芹菜与Django一起开箱即用.这意味着您不必修改settings.py来集成芹菜(因此不要包含对kombu的引用).
在settings.py中删除对kombu的引用是正确的解决方案.
这是提交:https://github.com/celery/kombu/commit/65f982ccf31b86157c39a8feb42081410b83abe2