У меня есть приложение django. Я добавил сельдерей. В приложении django у меня есть пакет с именем 'parser', 'api'. Я настроил сельдерей, следуя следующему руководству: First steps with Django. В пакете парсера у меня есть 'models.py'. Вы делаете 'task.py' package 'api'. Когда я пытаюсь сделать 'от моделей импорта парсеров' в пакете api. Я получаю следующее сообщение об ошибке: названные модели Нет модуляКак импортировать правильный пакет (python-django)
я посмотрел и обнаружил, что следующий файл импорта: Библиотека/python2.7/Lib-dynload/parser.x86_64-linux-gnu.so
webapp/
manage.py
api/
__init__.py
models.py
views.py
tasks.py
...
parser/
__init__.py
models.py
views.py
...
settings/
__init__.py
base.py
celery.py
dev.py
live.py
local.py
urls.py
wsgi.py
В случае необходимости «models.py» пакета парсера. Команда, которую вы используете, чтобы начать сельдерей, следующая: celery -A settings worker --loglevel=info
. Когда я бегу сельдерей в manage.py возьмите нужный файл: python manage.py celery -A settings worker --loglevel=info
API/task.py
from __future__ import absolute_import, division, print_function, unicode_literals
import time
from celery import task
from parser.models import FileUploadProcess # Error import
@task()
def test_task(param1):
print("Test task called. Param: {}".format(param1))
return 42
@task()
def parse_file(file_candidate, candidate_id):
FileUploadProcess(candidate_id=candidate_id, is_process=True).save()
# parse file
time.sleep(15)
FileUploadProcess.objects.filter(candidate_id=candidate_id).update(is_process=False)
Может как-то сказать мне Импортирует правильный пакет?
я получаю ту же ошибку снова. – Krasimir
Что такое базовый каталог, который вы запускаете из сценария? Похоже, вы импортируете по умолчанию python [модуль синтаксического анализатора] (https://docs.python.org/3.3/library/parser.html) вместо одного в своем каталоге – Zav
Может быть, попытаться переименовать парсер во что-то еще? – Zav