Да, я знаю, что есть много подобных вопросов о переполнении стека, связанных с этой ошибкой значения, и я пробовал все решения из них, но, поскольку я новичок в Django и python, я не могу решить эту проблему.
У меня есть один проект с именем my_backend, который имеет следующую файловую структуру.
main_project/
cmb_backend/
__init__.py
celery.py
urls.py
second_app/
__init__.py
moduleZ.py
my_env/
bin/
include/
lib/
python 3.7/
site-packages/
celery/
django_celery_beat
admin.py
Я использовал сельдерей для периодической задачи, поэтому я добавил один файл celery.py в свое основное приложение my_backend.
Я также установил django_celery_beat с помощью pip, и внутри него они импортировали сельдерей, используя приведенный ниже код.
# admin.py file in the django_celery_beat lib
from celery import current_app
from celery.utils import cached_property
поэтому, когда я запускаю эту команду
python3 my_backend/setup_database.py
это дает мне ошибку, как
ImportError: cannot import name 'current_app' from 'celery' (/Users/pankaj/Desktop/Pankaj/MyJangoProjects/My_Project/my_backend/celery.py)
поэтому из этой ошибки я обнаружил, что когда я запускаю команду выше, admin.py импортирует current_app из сельдерея, но ищет не тот файл
поэтому, чтобы решить эту ошибку, я использую относительный импорт и добавляю .. перед оператором импорта, но все же он не работает
# admin.py file in the django_celery_beat lib
from ..celery import current_app
from ..celery.utils import cached_property
Теперь здесь я получаю ValueError: attempted relative import beyond top-level package
Я пробовал взломать sys.path, но, к сожалению, я все еще застрял здесь.
Я также проверил все эти вопросы и попробовал решения, которые там представлены.
за пределами ошибки пакета верхнего уровня при относительном импорте
Относительный импорт в миллиардный раз
Как сделать относительный импорт в Python?
Попытка относительного импорта за пределы пакета верхнего уровня?