簡體   English   中英

芹菜,海帶和Django-導入錯誤

[英]Celery, kombu and django - import error

我正在使用django運行應用程序,並且我想使用celery來執行一些計划任務。

根據官方文檔 ,在我的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 ,則該應用程序可以正常運行。

編輯 :這似乎是海帶的問題。 我用pip install kombu安裝了它。 當我嘗試導入文件'kombu.transport'時,我沒有收到錯誤,但是當我嘗試導入'kombu.transport.django'時,卻出現了錯誤:

ImportError: No module named django

盡管在您發帖后可能已經發生了,但django模塊確實已從kombu軟件包中刪除。 celery的當前文檔指出,從3.1版開始,celery與Django兼容。 這意味着您不必修改settings.py即可集成芹菜(因此不必包含對kombu的引用)。

刪除settings.py中對kombu的引用是正確的解決方案。

這是提交: https : //github.com/celery/kombu/commit/65f982ccf31b86157c39a8feb42081410b83abe2

最新的芹菜已刪除了對django作為經紀人的支持。 他們更喜歡redis,rabbitmq作為他們的首選經紀人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM