在使用Django、Channels和Heroku时,如何解决包之间的冲突?

2024-03-29 07:42:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习如何在Heroku上部署Django+频道webapp的教程,在运行以下行时遇到了一个问题:

daphne chat.asgi:channel_layer --port 8888

我得到以下信息:

^{pr2}$

基于此,我继续安装:

pip install asgiref~=3.0

然而,当我再次运行达芙妮生产线时,我得到:

ERROR: asgi-redis 1.4.3 has requirement asgiref~=1.1.2, but you'll have asgiref 3.0.0 which is incompatible.

这是我第一次篡改web服务器、异步性和这些更复杂的库,所以有人知道我如何解决这个问题吗?我下面的教程是这样的,以防您需要: https://blog.heroku.com/in_deep_with_django_channels_the_future_of_real_time_apps_in_django


Tags: djangoinlayerheroku部署chatchannel教程
1条回答
网友
1楼 · 发布于 2024-03-29 07:42:25

除非绝对必要,否则不要在需求文件中固定嵌套的依赖项。从需求文件中删除其他依赖项(asgiref、daphne)并只添加通道应该会有所帮助。由于它们依赖于通道,pip将寻找合适的包。另外,agiredis正在被弃用,取而代之的是通道2的channels-redis,因此您应该切换到它。它不依赖于asgiref

相关问题 更多 >