开源改变世界

网格插件未加载 python 3.10 #1663

推推 grbl 2年前 (2023-02-03) 162次浏览
关闭
Git-Bruno 打开了这个问题 2022 年 1 月 25 日 · 1 条评论 · 由#1673修复

评论

网格插件未加载 python 3.10 #1663

bCNC 在 3.10 上运行时,slicemesh 插件无法加载。从 bCNC 启动时收到的消息来看,此错误是由 python 3.10 中的更改引起的:

Traceback (most recent call last): File "C:\Python310\lib\site-packages\bCNC\ToolsPage.py", line 1099, in __init__ exec("import %s"%(name)) File "<string>", line 1, in <module> File "C:\Python310\lib\site-packages\bCNC\plugins\slicemesh.py", line 38, in <module> import stl #FIXME: write smaller STL parser File "C:\Python310\lib\site-packages\bCNC\lib\stl\__init__.py", line 1, in <module> from .stl import BUFFER_SIZE File "C:\Python310\lib\site-packages\bCNC\lib\stl\stl.py", line 12, in <module> from . import base File "C:\Python310\lib\site-packages\bCNC\lib\stl\base.py", line 77, in <module> class BaseMesh(logger.Logged, collections.Mapping): AttributeError: module 'collections' has no attribute 'Mapping'

如果我在 base.py 中将’import collections’更改为’import collections.abc as collections’,则可以加载 slice mesh 插件,并且也可以加载 stl 文件。
此更改也适用于 python 3.8,但可能有更多的副作用需要更多更改,而不仅仅是更改导入。