heroku log "No module named 'app.settings'"

I’am trying to deploy my project using heroku, I added Procfile with this content:

web: gunicorn app.app.wsgi

I connected my github repository to Heroku and Deployed branch of repo
Build succeed, but when I open the app (.herokuapp.com) I get Application error.
Then I checked heroku logs and saw this Traceback:

File "/app/app/app/wsgi.py", line 16, in <module>
2021-11-06T21:39:56.520712+00:00 app[web.1]: application = get_wsgi_application()
2021-11-06T21:39:56.520712+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
2021-11-06T21:39:56.520713+00:00 app[web.1]: django.setup(set_prefix=False)
2021-11-06T21:39:56.520713+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/django/__init__.py", line 19, in setup
2021-11-06T21:39:56.520713+00:00 app[web.1]: configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
2021-11-06T21:39:56.520713+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__
2021-11-06T21:39:56.520713+00:00 app[web.1]: self._setup(name)
2021-11-06T21:39:56.520714+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup
2021-11-06T21:39:56.520714+00:00 app[web.1]: self._wrapped = Settings(settings_module)
2021-11-06T21:39:56.520714+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
2021-11-06T21:39:56.520714+00:00 app[web.1]: mod = importlib.import_module(self.SETTINGS_MODULE)
2021-11-06T21:39:56.520714+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/importlib/__init__.py", line 127, in import_module
2021-11-06T21:39:56.520714+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2021-11-06T21:39:56.520715+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
2021-11-06T21:39:56.520715+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 991, in _find_and_load
2021-11-06T21:39:56.520715+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
2021-11-06T21:39:56.520716+00:00 app[web.1]: ModuleNotFoundError: No module named 'app.settings'
2021-11-06T21:39:56.520810+00:00 app[web.1]: [2021-11-06 21:39:56 +0000] [10] [INFO] Worker exiting (pid: 10)
2021-11-06T21:39:56.572317+00:00 app[web.1]: [2021-11-06 21:39:56 +0000] [11] [ERROR] Exception in worker process
2021-11-06T21:39:56.572318+00:00 app[web.1]: Traceback (most recent call last):
2021-11-06T21:39:56.572319+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
2021-11-06T21:39:56.572322+00:00 app[web.1]: worker.init_process()
2021-11-06T21:39:56.572322+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/workers/base.py", line 134, in init_process
2021-11-06T21:39:56.572322+00:00 app[web.1]: self.load_wsgi()
2021-11-06T21:39:56.572322+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
2021-11-06T21:39:56.572323+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2021-11-06T21:39:56.572323+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
2021-11-06T21:39:56.572323+00:00 app[web.1]: self.callable = self.load()
2021-11-06T21:39:56.572323+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
2021-11-06T21:39:56.572324+00:00 app[web.1]: return self.load_wsgiapp()
2021-11-06T21:39:56.572324+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
2021-11-06T21:39:56.572324+00:00 app[web.1]: return util.import_app(self.app_uri)
2021-11-06T21:39:56.572324+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/util.py", line 359, in import_app
2021-11-06T21:39:56.572325+00:00 app[web.1]: mod = importlib.import_module(module)
2021-11-06T21:39:56.572325+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/importlib/__init__.py", line 127, in import_module
2021-11-06T21:39:56.572325+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2021-11-06T21:39:56.572325+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
2021-11-06T21:39:56.572326+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 991, in _find_and_load
2021-11-06T21:39:56.572326+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
2021-11-06T21:39:56.572326+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
2021-11-06T21:39:56.572326+00:00 app[web.1]: File "<frozen importlib._bootstrap_external>", line 783, in exec_module
2021-11-06T21:39:56.572326+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2021-11-06T21:39:56.572326+00:00 app[web.1]: File "/app/app/app/wsgi.py", line 16, in <module>
2021-11-06T21:39:56.572327+00:00 app[web.1]: application = get_wsgi_application()
2021-11-06T21:39:56.572327+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
2021-11-06T21:39:56.572327+00:00 app[web.1]: django.setup(set_prefix=False)
2021-11-06T21:39:56.572327+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/django/__init__.py", line 19, in setup
2021-11-06T21:39:56.572327+00:00 app[web.1]: configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
2021-11-06T21:39:56.572328+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__
2021-11-06T21:39:56.572328+00:00 app[web.1]: self._setup(name)
2021-11-06T21:39:56.572328+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup
2021-11-06T21:39:56.572328+00:00 app[web.1]: self._wrapped = Settings(settings_module)
2021-11-06T21:39:56.572328+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
2021-11-06T21:39:56.572329+00:00 app[web.1]: mod = importlib.import_module(self.SETTINGS_MODULE)
2021-11-06T21:39:56.572329+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/importlib/__init__.py", line 127, in import_module
2021-11-06T21:39:56.572329+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2021-11-06T21:39:56.572329+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
2021-11-06T21:39:56.572329+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 991, in _find_and_load
2021-11-06T21:39:56.572330+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
2021-11-06T21:39:56.572330+00:00 app[web.1]: ModuleNotFoundError: No module named 'app.settings'
2021-11-06T21:39:56.572429+00:00 app[web.1]: [2021-11-06 21:39:56 +0000] [11] [INFO] Worker exiting (pid: 11)
2021-11-06T21:39:56.619285+00:00 app[web.1]: Traceback (most recent call last):
2021-11-06T21:39:56.619297+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 209, in run
2021-11-06T21:39:56.619497+00:00 app[web.1]: self.sleep()
2021-11-06T21:39:56.619500+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 357, in sleep
2021-11-06T21:39:56.619626+00:00 app[web.1]: ready = select.select([self.PIPE[0]], [], [], 1.0)
2021-11-06T21:39:56.619628+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
2021-11-06T21:39:56.619712+00:00 app[web.1]: self.reap_workers()
2021-11-06T21:39:56.619713+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
2021-11-06T21:39:56.619839+00:00 app[web.1]: raise HaltServer(reason, self.WORKER_BOOT_ERROR)
2021-11-06T21:39:56.619884+00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
2021-11-06T21:39:56.619887+00:00 app[web.1]: 
2021-11-06T21:39:56.619887+00:00 app[web.1]: During handling of the above exception, another exception occurred:
2021-11-06T21:39:56.619887+00:00 app[web.1]: 
2021-11-06T21:39:56.619889+00:00 app[web.1]: Traceback (most recent call last):
2021-11-06T21:39:56.619891+00:00 app[web.1]: File "/app/.heroku/python/bin/gunicorn", line 8, in <module>
2021-11-06T21:39:56.619952+00:00 app[web.1]: sys.exit(run())
2021-11-06T21:39:56.619953+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 67, in run
2021-11-06T21:39:56.620018+00:00 app[web.1]: WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
2021-11-06T21:39:56.620020+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/base.py", line 231, in run
2021-11-06T21:39:56.620107+00:00 app[web.1]: super().run()
2021-11-06T21:39:56.620108+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/base.py", line 72, in run
2021-11-06T21:39:56.620172+00:00 app[web.1]: Arbiter(self).run()
2021-11-06T21:39:56.620173+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 229, in run
2021-11-06T21:39:56.620266+00:00 app[web.1]: self.halt(reason=inst.reason, exit_status=inst.exit_status)
2021-11-06T21:39:56.620267+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 342, in halt
2021-11-06T21:39:56.620370+00:00 app[web.1]: self.stop()
2021-11-06T21:39:56.620379+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 393, in stop
2021-11-06T21:39:56.620484+00:00 app[web.1]: time.sleep(0.1)
2021-11-06T21:39:56.620492+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
2021-11-06T21:39:56.620576+00:00 app[web.1]: self.reap_workers()
2021-11-06T21:39:56.620577+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
2021-11-06T21:39:56.620707+00:00 app[web.1]: raise HaltServer(reason, self.WORKER_BOOT_ERROR)
2021-11-06T21:39:56.620731+00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
2021-11-06T21:39:56.777556+00:00 heroku[web.1]: Process exited with status 1
2021-11-06T21:39:56.838538+00:00 heroku[web.1]: State changed from starting to crashed

I got that error raises because of imports:

ModuleNotFoundError: No module named 'app.settings'

but I cannot understand why this error occurs if I chanched nothing in app.wsgi

Please tell me anyone how can I solve this error? :pray:

my project structure looks like this:

Check your wsgi.py file for the default settings value. I’m guessing you need an extra app. in there due to your project structure.