You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级至Python3.9+Django3.2后执行createsuperuser报_UnixSelectorEventLoop属性错误

问题原因

这个报错的根本原因是依赖库eventlet==0.32.0与Python 3.9的标准库asyncio模块存在兼容冲突。

eventlet会默认对Python标准库的网络、IO相关模块执行猴子补丁(Monkey Patch),0.32.0版本的eventlet没有适配Python 3.9对asyncio事件循环、selector选择器的调整逻辑,修改后的selector实现和标准库asyncio的调用逻辑不匹配,最终抛出你看到的TypeError: changelist must be an iterable of select.kevent objects错误,后续的_signal_handlers属性丢失报错也是事件循环初始化中途失败导致的衍生问题。

解决方案

你可以任选以下一种方案解决:

  • 升级eventlet到兼容Python3.9的版本,要求版本不低于0.33.0:
    pip install eventlet>=0.33.0
    
    修改requirements.txt中对应的行即可永久生效。
  • 如果你的项目没有用到eventlet提供的协程相关能力,可以直接移除该依赖:
    pip uninstall eventlet
    
    同时删除requirements.txt中的eventlet==0.32.0行即可。

你可以先临时卸载eventlet后重试python manage.py createsuperuser或者启动/终止runserver操作,即可验证报错是否消失。

内容的提问来源于stack exchange,提问作者Jonathan Viccary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:54:03