Использование channel_redis на окнах - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь следовать этому базовому уроку по каналам 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
...