2016-03-28 14 views
1

Warum:Import: Kein Modul mit dem Namen ASGi

from channels.asgi import get_channel_layer 

Ergebnisse in:

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

Ich bin mit Django (1.9) und Python (3.4). Und während der Bearbeitung in pycharm sehe ich, dass die IDE mir den schnellen Tipp für mich gibt.

+0

hast du 'channels' installiert? zu installieren, verwenden Sie 'pip install -U channels' – haifzhan

Antwort

0

Verwenden

pip show channels 

die Version des Pakets zu sehen.

channels.asgi war es nicht bis Version 0.9:

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

+0

Ich habe bereits Kanäle in meinen Website-Paketen .. Unten ist meine Showchannel-Version .. --- Name: Kanäle Version: 0.10.2 Ort:/home/siva /.local/lib/python3.4/site-packages Benötigt: Django, asgiref, daphne – sivabalan19

+0

Verwenden Sie virtualenv, um Ihre Python-Pakete zu verwalten? Wenn nicht, vermute ich, dass das etwas mit zwei Versionen von Python zu tun haben könnte, da 2.7 standardmäßig installiert sein sollte. – TinyX

+0

Ja ... Ich benutze virtualenv .. Ist das etwas mit meinem Setup zu tun .. Ich bin komplett neu in Python/Linux und diesem Ökosystem. :( – sivabalan19

0

Haben Sie Kanäle in INSTALLED_APPS hinzugefügt?

+0

Ja. Ich habe bereits Kanäle in meiner installedApp .. INSTALLED_APPS = [ 'django .contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', ‚django.contrib.staticfiles ', ' chat ', ' Kanäle ', ] – sivabalan19

0

Wahrscheinlich liegt die von Ihnen erstellte asgi.py-Datei im falschen Verzeichnis.

Es sollte im selben Verzeichnis wie Ihre settings.py und wsgi.py Dateien sein.

1

Stellen Sie sicher, dass Sie es installiert haben und überprüfen Sie, ob Sie den virtuellen Kanal aktiviert haben.

0

Dieses Problem trat auf, als ich einen Server debuggte und den Befehl daphne über die Befehlszeile ausführte. Ich habe einen Befehl ausgeführt wie:

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

Und es war immer noch scheitern. Stellt sich heraus, ich musste cd in das gleiche Verzeichnis wie manage.py, um es zum Laufen zu bekommen. Wenn Sie etwas wie systemctl verwenden, können Sie einfach das Arbeitsverzeichnis auf den gleichen Speicherort festlegen.

Verwandte Themen