2016-03-28 4 views
1

Почему:ImportError: Нет модуль с именем ASGI

from channels.asgi import get_channel_layer 

приводит:

from channels.asgi import get_channel_layer 
ImportError: No module named asgi 

Я использую Django (1.9) и Python (3.4). И, редактируя в pycharm, я вижу, что IDE дает мне быстрый совет для меня.

+0

Вы установили 'каналы'? для установки, используйте 'pip install -U channels' – haifzhan

ответ

0

Использование

pip show channels 

Чтобы увидеть версию пакета.

channels.asgi не было до версии 0.9:

https://github.com/andrewgodwin/channels/tree/0.8/channels https://github.com/andrewgodwin/channels/tree/0.9/channels

+0

У меня уже есть каналы в моих пакетах сайтов. Ниже моя версия для шоу. --- --- Название: каналы Версия: 0.10.2 Местоположение:/home/siva /.local/lib/python3.4/site-packages Требуется: Django, asgiref, daphne – sivabalan19

+0

Вы используете virtualenv для управления пакетами python? Если нет, я предполагаю, что это может иметь какое-то отношение к двум версиям Python, так как по умолчанию должно быть установлено 2.7. – TinyX

+0

Да ... Я использую virtualenv .. Это связано с моей настройкой .. Я совершенно новый для python/Linux и этой экосистемы. :( – sivabalan19

0

Вы добавили каналы в INSTALLED_APPS?

+0

Да. У меня уже есть каналы в моем установленномApp .. INSTALLED_APPS = [ 'django .contrib.admin', 'django.contrib.auth', ' django.contrib.contenttypes', ' django.contrib.sessions', ' django.contrib.messages', «django.contrib.staticfiles ', ' chat ', ' channels ', ] – sivabalan19

0

Скорее всего созданный файл .ggi.py был неправильным каталогом.

Он должен быть в том же каталоге, что и файлы settings.py и wsgi.py.

1

Убедитесь, что вы установили его и дважды проверьте, что вы активировали virtualenv.

pip install -U asgi_redis 
0

Я столкнулся с этой проблемой, когда я отлаживал сервер и запускал команду дафни из командной строки. У меня была команда вроде:

/home/myuser/.virtualenvs/playmy/bin/python /home/myuser/.virtualenvs/myapp/bin/daphne -b 0.0.0.0 -p 8080 core.asgi:channel_layer 

И все еще не удалось. Оказывается, мне пришлось cd в том же каталоге, что и manage.py, чтобы запустить его. Если вы используете что-то вроде systemctl, вы можете просто установить рабочий каталог в том же месте.