属性错误:模块'collections'没有属性'Iterator' python 3.10 django 2.0



你好,这是一个克隆项目,但是当我尝试"python management .py makemigrations"ım得到这个错误我怎么能修复它?

需求
django==2.0 django-ckeditor==5.4.0
django-cleanup==2.1.0    django-crispy-forms==1.7.2
django-js-asset==1.0.0 

这个错误错误2

您使用的是非常旧的Django版本(我们目前的版本是4.1.x!),与python3.10不兼容。

Iteratorcollections移到了collections.abc(我想是在3.3版)。

为了解决这个问题,你必须将你的python版本降级到python3.3之前的版本(我猜这很不幸),或者升级你的django版本(这可能很难,取决于你的应用程序)。

你可以在django的repo中看到一个4年前的提交:https://github.com/django/django/commit/aba9763b5117494ca1ef1e420397e3845ad5b262.

祝你好运!

适用于python3.10的简单修复:

目录下/usr/lib/python3.10/collections/init.py

注意:路径可能会根据

而改变添加这行代码:

from _collections_abc import Iterator

添加:from _collections_abc import Iterable

from _weakref import proxy as _proxy

它适用于python3.11.

最新更新