1

djangoプロジェクトでdjango-audiofieldというGithubのdjangoアプリケーションを使用しようとしています。AptanaStudioIDEを使用しています。仮想環境にインストールしましたが、次のエラーが発生します。

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.

手伝ってください。

4

2 に答える 2

3

私はパッケージのメンテナーです。あなたの投稿のおかげで、要件にセロリ/django-celeryがないことに気づきました。最新バージョンに追加されました。

したがって、「pip install django-audiofield」は、これらの依存関係をインストールします。すでにdjango-audiofieldがインストールされている場合は、次のコマンドを実行してアップグレードできます: "pip install django-audiofield --upgrade"

于 2012-10-15T23:38:14.940 に答える
1

セロリをインストールしましたか?いいえの場合は、セロリ(pip install celery)をインストールします。問題のgithubアプリケーション(リンクがあればよかった)にrequirements.txtファイルがpip install -r requirements.txtある場合は、アプリケーションに必要なすべての依存関係をインストールしてください。

はいの場合、 Celeryを見つけるためにインポート検索パスが正しく設定されていない可能性があります-インポートエラーに基づく推測です。

djangoシェルを開き(python manage.py shellプロジェクトの作業ディレクトリにいるときに入力します)、と入力しimport sys; print sys.pathます。sys.pathPythonモジュールのインポート検索パスを指定しているため、Celeryがこれらのディレクトリの1つにインストールされていることを確認してください。

そこに含まれていない場合は、セロリがインストールされているディレクトリを一時的に追加できます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にあるようです。pip install django-audiofieldつまり、必要な(Python以外の)依存関係をすべてインストールしたら、pip(またはeasy_install)を使用してインストールでき、celeryなどをダウンロードする必要があります。

于 2012-10-15T01:41:11.607 に答える