在Windows上使用channels_redis

时间:2018-08-29 19:40:30

标签: python windows redis django-channels hiredis

我正在尝试遵循this basic django channels tutorial,并且已经有了一个很好的开始。我能够成功连接到我的websocket,并且我的使用者在收到消息时可以正确地回显到前端。

本教程的下一部分将重点放在使用channels_redis上,以允许多个通道都接收相同的消息,以便不同的客户端实例可以通过websocket相互通信。

在本教程中,他们说要运行

pip3 install channels_redis

,如果失败,他们不会详细说明或提供任何故障排除。

当我在Windows计算机(Python 3.7 32位)上运行此命令时,得到以下堆栈跟踪:

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的问题。在网上搜索时,我发现其他人在Windows上使用hiredis遇到麻烦,但解决方案的方式并不多。

所以我的问题是:是否可以在Windows上使用channels_redis软件包?我知道Windows显然不能提供最佳的生产部署环境,但是我不打算在Windows服务器上进行部署。在这一点上,我只是尝试遵循基本教程,并构建一个能够进行websocket通信的简单概念验证应用程序。我没有选择在开发计算机上使用Linux的选项,因此我正在专门寻找基于Windows的解决方案。

编辑其他信息:

  • Windows 7
  • Python 3.7
  • Django 2.1
  • 渠道2.1.3
  • 我确实安装了Microsoft Build Tools

0 个答案:

没有答案