Я пытаюсь следовать этому базовому уроку по каналам Django , и у меня довольно хорошее начало. Я могу успешно подключиться к своей веб-розетке, и мой потребитель корректно возвращается к внешнему интерфейсу, когда получает сообщение.
Следующая часть руководства посвящена использованию channels_redis
, чтобы позволить нескольким каналам получать одно и то же сообщение, чтобы разные клиентские экземпляры могли взаимодействовать друг с другом через веб-сокеты.
В уроке говорится, что нужно запустить
pip3 install channels_redis
, и они не уточняют и не предоставляют никаких действий по устранению неполадок, если это не удается.
Когда я запускаю эту команду на моем компьютере с Windows (Python 3.7 32bit), я получаю следующую трассировку стека:
Installing collected packages: hiredis, aioredis, channels-redis
Running setup.py install for hiredis ... error
Complete output from command C:\work_repos\WebWorkspace\PersonQueue\venv\Scr
ipts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\o_O\\App
Data\\Local\\Temp\\pip-build-vk3mqeh1\\hiredis\\setup.py';f=getattr(tokenize, 'o
pen', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile
(code, __file__, 'exec'))" install --record C:\Users\o_O\AppData\Local\Temp\pip-
dyn4y_6y-record\install-record.txt --single-version-externally-managed --compile
--install-headers C:\work_repos\WebWorkspace\PersonQueue\venv\include\site\pyth
on3.7\hiredis:
running install
running build
running build_py
creating build
creating build\lib.win32-3.7
creating build\lib.win32-3.7\hiredis
copying hiredis\version.py -> build\lib.win32-3.7\hiredis
copying hiredis\__init__.py -> build\lib.win32-3.7\hiredis
running build_clib
building 'hiredis_for_hiredis_py' library
creating build\temp.win32-3.7
creating build\temp.win32-3.7\vendor
creating build\temp.win32-3.7\vendor\hiredis
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC
\14.15.26726\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Pr
ogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.15.26
726\include" /Tcvendor/hiredis/read.c /Fobuild\temp.win32-3.7\vendor/hiredis/rea
d.obj
read.c
vendor/hiredis/read.c(34): fatal error C1083: Cannot open include file: 'str
ing.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Buil
dTools\\VC\\Tools\\MSVC\\14.15.26726\\bin\\HostX86\\x86\\cl.exe' failed with exi
t status 2
Кажется, это проблема с зависимостью hiredis
. Ища в Интернете, я нашел других, у которых были проблемы с использованием hiredis на Windows, но не очень в поисках решения.
Итак, мой вопрос: возможно ли использовать пакет channels_redis
на Windows? Я знаю, что Windows, очевидно, не является лучшей производственной средой развертывания, но я не собираюсь развертывать ее на сервере Windows. На данный момент я просто пытаюсь следовать базовому руководству и создать простое приложение для проверки концепции, способное к общению через веб-сокеты. У меня нет возможности использовать Linux на моей машине для разработки, поэтому я специально ищу решение на базе Windows.
Редактировать дополнительную информацию:
- Windows 7
- Python 3.7
- Джанго 2,1
- каналы 2.1.3
- У меня установлены инструменты сборки Microsoft