Question: I'm trying to learn Celery i'm using Django 2.0 and celery 5.0.2 and my os is Ubuntu. This is my structure My project structure is: celery/ manage.py celery/ __init__.py cerely_app.py settings.py urls.py wsgi.py apps/ main/ __init__.py admin.py apps.py models.py task.py views.py test.py  My configuration for cerely_app, based on documentation: import os from celery import Celery os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'celery.settings') app = Celery('celery') app.config_from_object('django.conf:settings', namespace='CELERY') app.autodiscover_tasks() @app.task(bind=True) def debug_task(self): print(f'Request: {self.request!r}')  And my init.py: from .celery_app import app as celery_app __all__ = ('celery_app',)  But when django give a error of import when i use command python3 manage.py runserver: $python3 manage.py runserver Traceback (most recent call last): File "manage.py", line 15, in <module> execute_from_command_line(sys.argv) File "/home/brayan/Envs/celery/lib/python3.8/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line utility.execute() File "/home/brayan/Envs/celery/lib/python3.8/site-packages/django/core/management/__init__.py", line 317, in execute settings.INSTALLED_APPS File "/home/brayan/Envs/celery/lib/python3.8/site-packages/django/conf/__init__.py", line 56, in __getattr__ self._setup(name) File "/home/brayan/Envs/celery/lib/python3.8/site-packages/django/conf/__init__.py", line 43, in _setup self._wrapped = Settings(settings_module) File "/home/brayan/Envs/celery/lib/python3.8/site-packages/django/conf/__init__.py", line 106, in __init__ mod = importlib.import_module(self.SETTINGS_MODULE) File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/brayan/dev/python/celery/celery/celery/__init__.py", line 3, in <module> from .celery_app import app as celery_app File "/home/brayan/dev/python/celery/celery/celery/celery_app.py", line 2, in <module> from celery import Celery ImportError: cannot import name 'Celery' from partially initialized module 'celery' (most likely due to a circular import) (/home/brayan/dev/python/celery/celery/celery/__init__.py) 

Answer: Do not put same name of your package and system package as it creates confusion for python when you hit import statement. In your case you name your package celery which is also a name of original celery package. In short simply rename your celery folder to something else.