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
您好,提前致谢,
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