Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot import ASGI_APPLICATION module while runserver using channels 2

I have followed the channels tutorial but while running these error throw

Version of the packages is channels==2.1.2 Django==2.0.4

what I missed ? in settings.py

INSTALLED_APPS = [
   "channels"
    ....
]

ROOT_URLCONF = 'myapp.urls'
ASGI_APPLICATION = "myapp.routing.application"

added file mayapp/routing.py

from channels.routing import ProtocolTypeRouter 

application = ProtocolTypeRouter({
    # Empty for now (http->django views is added by default)
})

this is the error log

System check identified no issues (0 silenced).
August 01, 2018 - 13:11:42
Django version 2.0.4, using settings 'myapp.local_settings'
Starting ASGI/Channels version 2.1.2 development server at http://127.0.0.1:8080/
Quit the server with CONTROL-C.
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f71ecfb6400>
Traceback (most recent call last):
  File "/home/vkchlt0192/myapp/lib/python3.5/site-packages/channels/routing.py", line 33, in get_default_application
    module = importlib.import_module(path)
  File "/home/vkchlt0192/myapp/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
ImportError: No module named 'myapp.routing'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/vkchlt0192/myapp/lib/python3.5/site-packages/django/utils/autoreload.py", line 225, in wrapper
    fn(*args, **kwargs)
  File "/home/vkchlt0192/myapp/lib/python3.5/site-packages/channels/management/commands/runserver.py", line 80, in inner_run
    application=self.get_application(options),
  File "/home/vkchlt0192/myapp/lib/python3.5/site-packages/channels/management/commands/runserver.py", line 105, in get_application
    return StaticFilesWrapper(get_default_application())
  File "/home/vkchlt0192/myapp/lib/python3.5/site-packages/channels/routing.py", line 35, in get_default_application
    raise ImproperlyConfigured("Cannot import ASGI_APPLICATION module %r" % path)
django.core.exceptions.ImproperlyConfigured: Cannot import ASGI_APPLICATION module 'myapp.routing'
like image 545
Shihabudheen K M Avatar asked Aug 01 '18 13:08

Shihabudheen K M


2 Answers

In my case it was wrong import in different file.

What you should do is

python manage.py shell
from mysite.routing import application

Look what exact error it produces and try to fix that

like image 198
Voilin Avatar answered Nov 05 '22 15:11

Voilin


Just change

ASGI_APPLICATION = mysite.routing.application

to

ASGI_APPLICATION = "routing.application"

like image 4
Shersha Fn Avatar answered Nov 05 '22 15:11

Shersha Fn