Django Channels添加到INSTALLED_APPS报cannot import name 'Deque'错误怎么办
问题根因
报错ImportError: cannot import name 'Deque'的核心原因如下:
Deque是Python 3.6.1版本才正式加入typing标准库的类型提示成员,你当前使用的Python 3.6.0版本不存在该成员- 你的环境中安装的Twisted依赖(Daphne依赖Twisted,Channels依赖Daphne)版本要求使用
typing.Deque,与你当前Python版本不兼容
解决方案
方案1:升级Python小版本(更推荐)
直接将当前Python 3.6.0升级到Python 3.6.1或更高的3.6.x版本即可解决问题,无需调整现有其他依赖的版本,对项目兼容性影响最小。
方案2:降级Twisted到兼容版本
若暂时无法升级Python版本,可以执行以下命令安装兼容Python 3.6.0的Twisted版本:
pip install twisted<21.2.0
Twisted 21.2.0及以上版本才开始使用from typing import Deque的写法,低于该版本的Twisted可正常在Python 3.6.0环境下运行。
内容的提问来源于stack exchange,提问作者Sachin Rajput
相关产品推荐
相关产品推荐

