Python edifact 库无法在 windows 10 上运行

Python edifact library won't work on windows 10

您好,提前致谢,

Python 是一种我不经常使用的语言,但我对在 github 上找到的名为 pydifact 的 edifact 库很感兴趣。我 运行 这个例子,它 运行 在 linux 上很好,但我在 windows 10 上遇到错误...我使用 python 3.10

Traceback (most recent call last):
File "C:\Python\testApp.py", line 1, in <module>
from pydifact.segmentcollection import Interchange
File "c:\users\myname\pydifact\pydifact\__init__.py", line 23, in <module>
from pydifact import segmentcollection, parser, segments, serializer, token, 
tokenizer
File "c:\users\myname\pydifact\pydifact\segmentcollection.py", line 339, in <module>
class Interchange(FileSourcableMixin, UNAHandlingMixin, AbstractSegmentsContainer):
File "c:\users\myname\pydifact\pydifact\segmentcollection.py", line 425, in Interchange
cls, segments: Union[list, collections.Iterable]
AttributeError: module 'collections' has no attribute 'Iterable'

有什么想法吗?

cls, segments: Union[list, collections.Iterable]

错误消息中提到,表明 Iterable 不在 collections 模块中。 Python 从 3.3 版开始弃用 colections.<smth> 取而代之的是 collections.abc.<smth>。自 3.10 起,此弃用行为已完全删除并引发错误。

因此,您应该降级到 python 3.9 或更早的版本,或者替换所有出现的

collections.Iterable

collections.abc.Iterable