2012-10-15 24 views
1

我想在我的Django項目使用django application on Github called django-audiofield時導入錯誤。我正在使用Aptana Studio IDE。我將它安裝在我的虛擬環境中,出現以下錯誤:Django的:試圖使用Django的audiofield從GitHub

Traceback (most recent call last): 
    File "/Users/home/Desktop/Web Development/Aptana Studio 3.0/musicproject/src/manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line 
    utility.execute() 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute 
    output = self.handle(*args, **options) 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle 
    return self.handle_noargs(**options) 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/core/management/commands/validate.py", line 9, in handle_noargs 
    self.validate(display_num_errors=True) 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/core/management/base.py", line 266, in validate 
    num_errors = get_validation_errors(s, app) 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/core/management/validation.py", line 30, in get_validation_errors 
    for (app_name, error) in get_app_errors().items(): 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/db/models/loading.py", line 158, in get_app_errors 
    self._populate() 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/db/models/loading.py", line 67, in _populate 
    self.load_app(app_name) 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/db/models/loading.py", line 88, in load_app 
    models = import_module('.models', app_name) 
    File "/Users/home/virtualenv/venv/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/Users/home/virtualenv/venv/src/audiofield/audiofield/models.py", line 19, in <module> 
    from audiofield.fields import AudioField 
    File "/Users/home/virtualenv/venv/src/audiofield/audiofield/fields.py", line 20, in <module> 
    from tasks import audio_convert_task 
    File "/Users/home/virtualenv/venv/src/audiofield/audiofield/tasks.py", line 14, in <module> 
    from celery.task import Task 
    ImportError: No module named celery.task 
Finished "/Users/home/Desktop/Web Development/Aptana Studio 3.0/musicproject/src/manage.py validate" execution. 

請協助。

+0

有你'安裝celery'? – iMom0

回答

3

我是包的維護者,由於你的帖子,我意識到,我們在我們的要求缺少芹菜/ Django的芹菜。它現在添加了最新版本。

因此, 「PIP安裝Django-audiofield」 將安裝這些依賴你。 如果您的Django audiofield已安裝可以運行下面的命令來升級:「PIP安裝Django-audiofield --upgrade」

+0

太棒了。會做!感謝信息和包@areski。 – Smock

1

您是否安裝celery?如果沒有,請安裝芹菜(pip install celery)。如果有問題的github應用程序(鏈接會很好)在任何地方都有一個requirements.txt文件,請執行pip install -r requirements.txt以安裝該應用程序的所有必需依賴項。

如果是,它看起來像你的import search path可能無法正確設置找到芹菜 - 只是基於進口錯誤猜測。

打開django shell(當您在項目的工作目錄中時鍵入python manage.py shell)並鍵入import sys; print sys.path。確保Celery安裝在其中一個目錄中,因爲sys.path指定python模塊的導入搜索路徑。

如果它不包含在那裏,您可以通過做sys.path.append("<directory where celery is>")(因爲您在Windows上,請記住反斜槓)臨時附加芹菜安裝到的目錄。如果在這樣做之後,您可以成功地from celery.tasks import Task,那麼您可以適當地設置PYTHONPATH環境變量以使其成爲永久性的。

此外,由於您將芹菜安裝到了virtualenv,因此可能需要檢查django和Celery都處於同一虛擬環境中。

最後,Celery的最新提交表明Celery now has native Django support,但由於該版本尚未作爲穩定版發佈,因此您可能需要查看django-celery

編輯(響應評論如下):

既然你提到你正在試圖獲得django-audiofield工作:它似乎be on pypi。這意味着一旦你安裝了所有必需的(非python)依賴項,你就可以使用pip(或easy_install)來安裝它,並且應該爲你下載像芹菜這樣的東西。

+0

非常感謝@Casper。我很抱歉沒有包含鏈接。這裏的鏈接:git://github.com/Star2Billing/django-audiofield.git – Smock

+0

不客氣,並感謝您的鏈接;我提出了一個編輯你的問題,在那裏添加它。另外,如果這個答案幫助你解決了這個問題,請點擊旁邊勾號的大綱來接受它。 – Caspar

+0

再次感謝你。我做了一個「pip install django-audiofield」,我不確定爲什麼芹菜沒有下載。我想我必須手動下載它。再次感謝@caspar – Smock