2017-10-30 14 views
0

설치 'win32api'라는 이름의 모듈 직후. 성공적으로 설치된 'pip install channels'을 실행합니다. 그런 다음 'asgi_redis'를 설치합니다. 그것도 설치됩니다. 이제 channels.asgi를 가져 오려고하면 오류가 발생합니다. 또한 갑자기 내 manage.py 셸 작동을 멈 춥니 다. 다른 장고 프로젝트에서는 잘 작동합니다. 채널을 설치하는 벌금을 작동하는 것 같군 전에ModuleNotFoundError : 내가 WebSocket을하고 장고 채널 채팅 응용 프로그램을 buidling하고 채널

C:\Users\gdhameeja\Desktop\chatapp\chat>manage.py shell 
Traceback (most recent call last): 
    File "C:\Users\gdhameeja\Desktop\chatapp\chat\manage.py", line 22, in <module> 
    execute_from_command_line(sys.argv) 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\django-1.11.6-py3.6.egg\django\core\management\__init__.py", line 364, in execute_from_command_line 
    utility.execute() 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\django-1.11.6-py3.6.egg\django\core\management\__init__.py", line 338, in execute 
    django.setup() 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\django-1.11.6-py3.6.egg\django\__init__.py", line 27, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\django-1.11.6-py3.6.egg\django\apps\registry.py", line 116, in populate 
    app_config.ready() 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\channels\apps.py", line 17, in ready 
    monkeypatch_django() 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\channels\hacks.py", line 10, in monkeypatch_django 
    from .management.commands.runserver import Command as RunserverCommand 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\channels\management\commands\runserver.py", line 5, in <module> 
    from daphne.server import Server, build_endpoint_description_strings 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\daphne\server.py", line 9, in <module> 
    from twisted.internet.endpoints import serverFromString 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\twisted\internet\endpoints.py", line 41, in <module> 
    from twisted.internet.stdio import StandardIO, PipeAddress 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\twisted\internet\stdio.py", line 30, in <module> 
    from twisted.internet import _win32stdio 
    File "C:\Users\gdhameeja\AppData\Local\Programs\Python\Python36\lib\site-packages\twisted\internet\_win32stdio.py", line 9, in <module> 
    import win32api 
ModuleNotFoundError: No module named 'win32api' 

모든 :

오류가 나는 쉘에 액세스하려고 할 때. settings.py :

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'chat', 
    'channels',] 
CHANNEL_LAYERS = { 
    'default': { 
     'BACKEND' : 'asgi_redis.RedisChannelLayer', 
     'CONFIG':{ 
      'hosts': [os.environ.get('REDIS_URL', 'redis://localhost:6379')], 
     }, 
     'ROUTING' : 'chat.routing.channel_routing', 
    }, 
} 

핍 동결 :

C:\Users\gdhameeja\Desktop\chatapp\chat>pip freeze 
asgi-redis==1.4.3 
asgiref==1.1.2 
attrs==17.2.0 
autobahn==17.9.3 
Automat==0.6.0 
channels==1.1.8 
constantly==15.1.0 
daphne==1.3.0 
django==1.11.6 
hyperlink==17.3.1 
incremental==17.5.0 
msgpack-python==0.4.8 
pytz==2017.2 
redis==2.10.6 
six==1.11.0 
Twisted==17.9.0 
txaio==2.8.2 
virtualenv==15.1.0 
websocket-client==0.44.0 
zope.interface==4.4.3 
+0

은 아마도 대답은 여기에 있습니다 : https://stackoverflow.com/questions/21343774/importerror-no-module-named-win32api 더 모듈 이름 xxx는 당신이 당신의 파이썬 경로에없는 의미합니다. – misraX

+0

질문을 게시하기 전에 검토하십시오. 참조 주셔서 감사합니다. 채널을 설치 한 후 모듈을 감지하지 못하는 이유는 무엇입니까? 같은 모듈이 완벽하게 잘 작동하기 전에 –

+0

virtualenv를 사용하고 있습니까? – misraX

답변

0

https://github.com/django/channels/issues/498 이 게시물을 참조하십시오. 이 오류가 발생하면 수동으로 pypiwin32 패키지를 설치하십시오.

pip install pypiwin32 

ide가 가져올 채널을 인식하지 못하더라도 무시하고 runserver를 무시하십시오. 작동 할거야.