簡體   English   中英

Django:嘗試從GitHub使用django-audiofield時導入錯誤

[英]Django: Import error when trying to use django-audiofield from GitHub

我正試圖在我的django項目中在Github上使用django-audiofielddjango應用程序 我正在使用Aptana Studio IDE。 我在我的虛擬環境中安裝它,我收到以下錯誤:

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.

請協助。

我是該軟件包的維護者,感謝您的帖子,我意識到我們在要求中缺少芹菜/ django-celery。 它現在已添加到最新版本中。

所以“pip install django-audiofield”會為你安裝這些依賴項。 如果已經安裝了django-audiofield,則可以運行以下命令進行升級:“pip install django-audiofield --upgrade”

你安裝了芹菜嗎? 如果沒有,請安裝芹菜( pip install celery )。 如果有問題的github應用程序(鏈接本來不錯)在任何地方都有一個requirements.txt文件,請執行pip install -r requirements.txt來安裝應用程序的所有必需依賴項。

如果是,看起來您的導入搜索路徑可能無法正確設置以查找Celery - 只是基於導入錯誤的猜測。

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

如果它不包含在那里,你可以通過執行sys.path.append("<directory where celery is>")暫時附加芹菜安裝sys.path.append("<directory where celery is>") (請注意反斜杠,因為你在Windows上)。 如果在執行此操作后,您可以成功from celery.tasks import Task ,那么您可以適當地設置PYTHONPATH環境變量以使其永久化。

此外,由於您將Celery安裝到virtualenv中 ,因此可能需要檢查django和Celery是否屬於同一個virtualenv。

最后,對Celery的最新提交表明Celery現在擁有Django原生支持 ,但由於尚未發布穩定版本,你可能想看看django-celery

編輯 (響應下面的評論):

既然你提到你想讓django-audiofield工作:它似乎是在pypi上 這意味着一旦安裝了所有必需的(非python)依賴項,就可以使用pip(或easy_install)使用pip install django-audiofield安裝它,並且應該為你下載像celery這樣的東西。

暫無
暫無

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

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