在 Mac 上使用 Atom 使用 Python。代码:
from rubik.cube import Cube
from rubik_solver import utils
完整错误:
Traceback (most recent call last):
File "/Users/Audey/Desktop/solver.py", line 2, in <module>
from rubik_solver import utils
File "/Users/Audey/Library/Python/3.10/lib/python/site-packages/rubik_solver/utils.py", line 4, in <module>
from past.builtins import basestring
File "/Users/Audey/Library/Python/3.10/lib/python/site-packages/past/builtins/__init__.py", line 43, in <module>
from past.builtins.noniterators import (filter, map, range, reduce, zip)
File "/Users/Audey/Library/Python/3.10/lib/python/site-packages/past/builtins/noniterators.py", line 24, in <module>
from past.types import basestring
File "/Users/Audey/Library/Python/3.10/lib/python/site-packages/past/types/__init__.py", line 25, in <module>
from .oldstr import oldstr
File "/Users/Audey/Library/Python/3.10/lib/python/site-packages/past/types/oldstr.py", line 5, in <module>
from collections import Iterable
ImportError: cannot import name 'Iterable' from 'collections' (/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/collections/__init__.py)
from rubik_solver import utils
是导致错误的原因,因为当我删除它时错误没有出现。我不确定是什么导致了错误,我检查了那里的代码并在其他来源上找到了它,所以我确定它 应该可以 工作。有解决办法吗
原文由 Myexgiko 发布,翻译遵循 CC BY-SA 4.0 许可协议
Iterable
抽象类已从 Python 3.10 中的collections
中删除。请参阅 3.9collections
文档 中的弃用说明。在 3.10 文档的 删除 部分中,该项目collections
模块中删除 集合抽象基类 的弃用别名。 (由 Victor Stinner 在 bpo-37324 中贡献。)是什么导致你的错误。
您可以使用
Iterable
来自collections.abc
代替,或者如果问题出在无法更新的依赖项中,则使用 Python 3.9。